我有一个数据集,我想在这些数据上训练我的模型.在训练之后,我需要知道SVM分类器分类中主要贡献者的特征.
对森林算法有一些称为特征重要性的东西,有什么类似的吗?
是的,coef_
SVM分类器有属性,但它仅适用于带线性内核的 SVM .对于其他内核,它是不可能的,因为数据被内核方法转换到另一个与输入空间无关的空间,请检查解释.
from matplotlib import pyplot as plt from sklearn import svm def f_importances(coef, names): imp = coef imp,names = zip(*sorted(zip(imp,names))) plt.barh(range(len(names)), imp, align='center') plt.yticks(range(len(names)), names) plt.show() features_names = ['input1', 'input2'] svm = svm.SVC(kernel='linear') svm.fit(X, Y) f_importances(svm.coef_, features_names)
函数的输出如下所示: