【发布时间】:2020-06-12 21:32:36
【问题描述】:
我使用eli5 来应用置换过程来确定特征重要性。在documentation中,有一些解释和一个小例子,但不是很清楚。
我正在使用sklearn SVC 模型来解决分类问题。
我的问题是:这些权重是对特定特征进行洗牌时准确性的变化(降低/增加)还是这些特征的 SVC 权重?
在this medium article 中,作者指出,这些值表明该特征的重新洗牌会降低模型性能。但不确定是否确实如此。
小例子:
from sklearn import datasets
import eli5
from eli5.sklearn import PermutationImportance
from sklearn.svm import SVC, SVR
# import some data to play with
iris = datasets.load_iris()
X = iris.data[:, :2]
y = iris.target
clf = SVC(kernel='linear')
perms = PermutationImportance(clf, n_iter=1000, cv=10, scoring='accuracy').fit(X, y)
print(perms.feature_importances_)
print(perms.feature_importances_std_)
[0.38117333 0.16214 ]
[0.1349115 0.11182505]
eli5.show_weights(perms)
【问题讨论】:
标签: python machine-learning scikit-learn classification eli5