get regions from treebagger
2 次查看(过去 30 天)
显示 更早的评论
Hi,
I have a random forest, trained through treeBagger function. I need to check for the new point x, whether it results in a same region R_t for all t, with historical point x_j, for all j. Please let me know me how I can get it.
Best, Afshin
2 个评论
Sarah Mohamed
2017-9-15
Please provide more clarity regarding your question. Is this a classification or regression problem? What do "t" and "j" signify? Are you trying to predict whether a new point has the same response for all values of a certain predictor?
采纳的回答
Sarah Mohamed
2017-9-18
Thanks for the clarification!
Let me assume that you've trained an ensemble of trees using the TreeBagger function, and that this bag of trees is called 'B'.
A cell vector of the trained CompactRegressionTree subtrees is stored in the ‘Trees’ property of B. Assuming that you’ve extracted one of these trees, ‘tree1’, as follows,
tree1 = B.Trees{1};
You can determine the leaf node that determines the predicted output for the observation (or array of observations) X, using the 'predict' function:
[~,node] = predict(tree1,X)
If you would like the parent of the leaf node (e.g, the node that ‘splits’ the data), you can look up the node’s parent in the ‘Parent’ property of ‘tree1’:
splittingNode = tree1.Parent(node);
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Classification Ensembles 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!