Retrieving data points in a CART tree node (statistics and machine learning toolbox)

2 次查看(过去 30 天)
I would like to obtain the row indices of the predictor matrix X that are returned in the tree.NodeSize variable. I'm looking for something similar to the CutPredictor, but in the first dimension of X. Thanks.

回答(1 个)

Sarah Mohamed
Sarah Mohamed 2017-9-15
There doesn’t appear to be built-in functionality for this already, but it is possible to traverse the tree to retrieve these observations using the properties Parent, CutPredictor, CutType, CutPoint, and/or CutCategories. The steps would be somewhat like the following:
Starting from the root node (node 0),
  1. Determine the variable used to split the data at the node from CutPredictor (if not a leaf node).
  2. Determine whether that variable is continuous or categorical from CutType. If it is continuous, then use CutPoint to determine the threshold used to split the data at that node. Otherwise, use CutCategories.
  3. Examine Parent to determine which nodes have the current node as its parent.
  4. Determine the subsets of the observations that fall on either side of the threshold
  5. Retaining these subsets of observations, repeat these steps for each of the children nodes

类别

Help CenterFile Exchange 中查找有关 Get Started with Statistics and Machine Learning Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by