Python 是否有一种方法可以找到每个预测的特征重要性?

Python 是否有一种方法可以找到每个预测的特征重要性?,python,machine-learning,scikit-learn,random-forest,Python,Machine Learning,Scikit Learn,Random Forest,我知道 X_train = [ [1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12], [13, 14, 15, 16, 17, 18], ..... ] clf.fit(X_train, y_train) probas_test = clf.predict_proba(y_) clf.feature_importances_ 将给出适合于训练数据集的分类器的特征重要性 但是,在预测每行未看到的数据时,如何使用这个经过训练的模型给出类似的重要性值呢。 比如

我知道

X_train = [

[1, 2, 3, 4, 5, 6],
[7, 8, 9, 10, 11, 12],
[13, 14, 15, 16, 17, 18],
.....

]

clf.fit(X_train, y_train)
probas_test = clf.predict_proba(y_)

clf.feature_importances_
将给出适合于训练数据集的分类器的特征重要性

但是,在预测每行未看到的数据时,如何使用这个经过训练的模型给出类似的重要性值呢。 比如说,

X = [1, 2, 3, 4, 5, 2]
 
clf.predict_proba(X)
然后有一种方法可以得到每一列的重要性,这是特定于这一特定行的,而不是考虑一组行。 差不多

clf.feature_importances_individual_
clf.get_feature_importance(X)
甚至像这样

clf.feature_importances_individual_
clf.get_feature_importance(X)

我猜您正在使用
sklearn
中基于树的模型的特征重要性方法。这是通过考虑训练集的所有实例来计算的。因此,您无法在行基础上导出树的特征重要性

同样,如果考虑Logistic或线性回归模型,则从所有用于训练模型的实例出发,导出系数(可以被认为是特征重要性的代理)。 要以行为基础,我的建议是使用值,这一再被证明是解释模型结果的一个很好的工具