如何看待机器学习中预测的特征重要性



我有一个用样本数据集训练的简单RF分类器模型,它运行良好。

因此,我使用一些测试数据来预测目标类,假设它发现目标类为10(为了简单起见,将其视为二进制分类(

因此,假设我们需要了解测试特征对预测值(01(的影响。看看下面的例子:

input features - [a,b,c]
predicted value - 1
input features - [a,d,c]
predicted value - 10

因此,让我们假设第一个场景,其中输入(测试特征(特征是abc,它们将产生1

所以现在我想检查一下这些特征(abc(,哪些特征对预测值1最有影响

我该怎么做?

PS:我知道如何检查训练数据集的特征重要性,但在这种情况下,它不是训练数据集,而是测试数据集,目标类只有在预测后才能获得。

我用来解释RF分类器预测的一个软件包是Treenterpreter。它计算个体特征对个体预测的贡献:;用于解释scikit learn的决策树和随机森林预测的软件包。允许将每个预测分解为偏差和特征贡献分量"https://pypi.org/project/treeinterpreter/

这个博客在这里解释了它是如何工作的,这里展示了如何使用它的例子。但基本上,一旦你有了你的RF模型:

from treeinterpreter import treeinterpreter as ti
prediction, bias, contributions = ti.predict(model, data) 

模型是RF模型,数据是测试数据(生成预测的数据集(

最新更新