当前位置:  开发笔记 > 编程语言 > 正文

确定sklearn中SVM分类器的最有用特征

如何解决《确定sklearn中SVM分类器的最有用特征》经验,为你挑选了1个好方法。

我有一个数据集,我想在这些数据上训练我的模型.在训练之后,我需要知道SVM分类器分类中主要贡献者的特征.

对森林算法有一些称为特征重要性的东西,有什么类似的吗?



1> Jakub Macina..:

是的,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)

函数的输出如下所示: 功能重要性


我更新了答案,非线性内核是不可能的。
推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有