随机森林可解释性
Posted
技术标签:
【中文标题】随机森林可解释性【英文标题】:Random Forests interpretability 【发布时间】:2019-02-26 17:33:00 【问题描述】:我一直在使用 sklearn RandomForestClassifier
解决二进制分类问题。
对于特定的样本预测,我希望能够知道如何更改特征值以使预测发生变化。
例如假设我有一个带有[size = 15, width = 8, height = 13]
的条目,模型给了我一个probability = 0.9
是class 1
。我想说的是“例如将size
从15
更改为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部分依赖图可视化实现模型可解释性之详细攻