我在 Matlab 中估计一个随机森林,并尝试在估计后获取有关树结构的信息。特别是,对于集合中的每棵树,我想弄清楚——通过树的哪条路径提供了最高/最低和最/最不准确的预测。- 这些路径具有哪些特征和阈值。
我发现很难访问 Matlab 结果来做到这一点。作为一个最小示例,请考虑帮助文件中的示例:
load carsmall
b = TreeBagger(50,[Weight, Cylinders],MPG,'oobvarimp','on', 'method', 'r');
现在,例如
FirstTree = b.Trees{1,1};
提供第一棵树的估计值。功能
FirstTreeNodeMeans = nodemean(FirstTree);
FirstTreeTerminalNodes = ~isbranch(FirstTree);
提供有关每个节点的平均预测以及哪些节点是终端节点的信息。我可以通过例如找到所有终端节点的最高(同样也是最低)预测
Highest = max(FirstTreeNodeMeans(FirstTreeTerminalNodes)) == FirstTreeNodeMeans;
我剩下的问题是:说,我发现节点 4 是我想要的。如何提取通向节点 4 的路径(包括拆分变量和截止值)?
我会感谢任何帮助,最好的,汤姆