支持向量机(SVM)特征重要性计算问题

问题

在利用SVM模型进行分类,发现SVC没有feature_importances_这个属性(:‘SVC’ object has no attribute ‘feature_importances_’),而决策树和随机森林可以直接利用clf.feature_importances_自动计算特征重要性。暂时没找到SVC有类似于feature_importances_的方法自动计算特征重要性,有的话欢迎评论指导。

解决办法

通过SVM模型计算的特征系数的绝对值大小来计算特征值重要性:
因为特征系数有正负,因此用系数平方/系数和平方
特征系数:clf.coef_,ravel()是将二维列表降为一维
在这里插入图片描述

svm_weights_1 = (clf.coef_ ** 2).ravel()
svm_weights_2 = svm_weights_1 / svm_weights_1.sum()
对svm_weights_2 取整求和也刚好为1
支持向量机(SVM)特征重要性计算问题_第1张图片

你可能感兴趣的:(机器学习)