n_support_ 中 class 的顺序(sklearn svm)

Order of class in n_support_ (sklearn svm)

sklearn SVM SVC documentation 中,我试图找出 n_support_ 属性以 classes 的什么顺序给出支持向量的数量。我找不到任何地方提到它。拜托,有人可以告诉我如何找到它吗?

示例:对于 class 的二进制 class 化 classes -1,+1

In []: print (svm_fit.n_support_)
Out[]: [6388 6383]

现在我不确定第一个值属于哪个class。

documentation 中提供的示例进行稍微修改的版本:

import numpy as np
X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]])
y = np.array([-1, -1, 1, 1])
from sklearn.svm import SVC
clf = SVC()
clf.fit(X, y)
print(f'Number of support vectors in each class: {clf.n_support_}')
print(f'Classes: {clf.classes_}')

您可以通过调用 .classes_.

访问 classifier 的 classes

上面的代码打印出来:

Number of support vectors in each class: [2 2]

Classes: [-1 1]

表示2个属于-1class,2个属于1class.