随机森林可解释性

Posted

技术标签:

【中文标题】随机森林可解释性【英文标题】:Random Forests interpretability 【发布时间】:2019-02-26 17:33:00 【问题描述】:

我一直在使用 sklearn RandomForestClassifier 解决二进制分类问题。

对于特定的样本预测,我希望能够知道如何更改特征值以使预测发生变化

例如假设我有一个带有[size = 15, width = 8, height = 13] 的条目,模型给了我一个probability = 0.9class 1。我想说的是“例如将size15 更改为10”,然后是您的probability=0.1

然后最理想的情况是,我希望特征值中的最小“梯度”从一个类别移动到另一个类别(或概率变化最大的类别)。

也许我错了,但从我读到的 LIME 和 TreeInterpreter 包中没有提供此类信息?

【问题讨论】:

在这种特殊情况下,您的所有特征都是数字的(而且是整数)。有时,特征是分类的。 【参考方案1】:

我知道两种解释随机森林的方法:

如果你使用 sklearn 随机森林,你可以使用 feature_importances_ 类属性(越高越好) 解释“黑盒模型”的更通用方法是sensitivity analysis,我认为在你的问题中你猜到了这个

【讨论】:

您有关于该敏感性分析的任何特定文档或软件包吗? R包中有一个随机森林类级别的敏感性分析rdrr.io/cran/rfUtilities/man/rf.class.sensitivity.html【参考方案2】:

部分依赖图近似于目标与特定自变量之间的依赖关系,该特定自变量被边缘化于所有其他自变量。

虽然它没有在所有点上给出精确的渐变。它可以帮助我们直观地了解变量的行为。

您可以在此处找到更多信息: https://scikit-learn.org/stable/modules/generated/sklearn.inspection.plot_partial_dependence.html

【讨论】:

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

ML之shap:基于FIFA 2018 Statistics(2018年俄罗斯世界杯足球赛)球队比赛之星分类预测数据集利用RF随机森林+计算SHAP值单样本力图/依赖关系贡献图可视化实现可解释性之攻略

ML之PDP:基于FIFA 2018 Statistics(2018年俄罗斯世界杯足球赛)球队比赛之星分类预测数据集利用DT决策树&RF随机森林+PDP部分依赖图可视化实现模型可解释性之详细攻

决策树、随机森林

集成学习 - 决策树-随机森林

人类可解释的监督机器学习算法

dtreeviz:一款超级棒的决策树可视化和模型可解释性工具