随机森林的可解释性

use*_*104 5 python machine-learning python-3.x random-forest scikit-learn

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

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

例如,假设我有一个条目,[size = 15, width = 8, height = 13]并且模型给了我一个probability = 0.9to be of class 1。我想说的是“size1510”,然后是你probability=0.1的例子。

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

也许我错了,但从我读过的包 LIME 和 TreeInterpreter 没有提供这种信息?

Mik*_*dev 0

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

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