当使用3个类时,输出对于在Scikitlearn的SVM中获取决策功能意味着什么

时间:2017-09-20 16:52:14

标签: python-2.7 machine-learning scikit-learn svm

我在执行以下代码块https://prateekvjoshi.com/2015/12/15/how-to-compute-confidence-measure-for-svm-classifiers/时引用了以下博客文章,并获得了以下结果。我的目的是在Scikit-learn中找出SVM中SVC的3个类的距离,但是我对所描述的含义感到困惑有没有解决方案。

import numpy as np
from sklearn.svm import SVC
x = np.array([[1,2],[2,3],[3,4],[1,4],[1,5],[2,4],[2,6]])
y = np.array([0,1,-1,-1,1,1,0])
classifier = SVC(kernel='linear')
classifier.fit(x,y)
classifier.decision_function([2,1])

最后一次调用给出以下3号数组的输出

array([[ -8.88178420e-16,  -1.40000000e+00,  -1.00000000e+00]])

这个数组意味着什么,我们如何使用这个数组找出哪三个类(-1,1,0)与特定数据点相关。

1 个答案:

答案 0 :(得分:1)

[2,1]与SVM分类器的分离超平面的距离。所以第一个值是[2,1]与超平面分开第一个类的距离,依此类推。您可以查看该函数的实现here并阅读文档here以获取更多信息。

编辑:您也可以查看this example