随机森林中的树细节

Posted

技术标签:

【中文标题】随机森林中的树细节【英文标题】:Tree details in random forest 【发布时间】:2016-10-08 01:16:56 【问题描述】:

我正在寻找一个 python 或 R 中的随机森林包,它可以让我获得关于最终构建的森林的一些细粒度的细节。特别是,我想:

    获取创建的树的一些表示; 对于森林中的每棵树,获取其与数据拟合程度的总体度量(如熵); 对于训练集中的每条记录和森林中的每棵树,记录它最终位于哪个终端叶;和 对于新记录,对于森林中的每棵树,记录它最终位于哪个末端叶子中。

我意识到 (4) 的解决方案也可以作为 (3) 的解决方案,但我猜测 (3) 应该相对容易通过在森林生长时密切关注结果来实现。

我非常努力地研究了 R 和 python 中的可用选项,但我找不到满足所有这四个要求的现成例程。 (很难找到一个满足条件(1)的,让你直接看到森林。)

如果有人知道我错过了什么,或者自己构建了这样的例程,我非常想要一个链接/参考。

【问题讨论】:

【参考方案1】:

另一个解决方案是lime,它会解释预测的特征权重,并有一个使用matplotlib的可视化解释,它可以很容易地与jupyter(ipython) notebook集成。

【讨论】:

【参考方案2】:

试试这个:

用于解释 scikit-learn 的决策树和随机数的包 森林预测。允许将每个预测分解为偏差和 特征贡献组件,如中所述 http://blog.datadive.net/interpreting-random-forests/。对于数据集 具有 n 个特征,数据集上的每个预测被分解为 预测 = 偏差 + feature_1_contribution + ... + feature_n_contribution。

pip install treeinterpreter

http://blog.datadive.net/random-forest-interpretation-with-scikit-learn/

【讨论】:

嗯——以前从未见过这个。感谢您的提示;我去看看。 如果那里缺少某些东西,可以通过查看生成的树来自己添加分析。见***.com/questions/50600290/…

以上是关于随机森林中的树细节的主要内容,如果未能解决你的问题,请参考以下文章

在随机森林中的树中的每个节点处随机选择变量

随机森林回归中的树数

如何绘制从使用 R 中的“caret”包创建的随机森林中选择的树

使用带有特征和类名称的 graphviz 可视化随机森林中的树

[ML]随机森林

如何在 Weka GUI 中获取随机森林生成的树模型?