擅长:python、mysql、java
<p>是的,支持向量机分类器有属性<code>coef_</code>,但它只适用于具有<strong>线性核的支持向量机。对于其他内核,这是不可能的,因为数据由内核方法转换到与输入空间无关的另一个空间,请检查<a href="https://stackoverflow.com/questions/21260691/scikits-learn-how-to-obtain-features-weight">explanation</a>。</p>
<pre><code>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)
</code></pre>
<p>函数的输出如下所示:
<a href="https://i.stack.imgur.com/zWjMz.png" rel="noreferrer"><img src="https://i.stack.imgur.com/zWjMz.png" alt="Feature importances"/></a></p>