我正在估算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的路径(包括拆分变量和截止值)?
我会感谢任何帮助,最好的, 汤姆