随机森林中的树细节
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”包创建的随机森林中选择的树