在Scikit-learn的SVM中使用3个类别时,决策函数的输出是什么意思

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

import numpy as npfrom sklearn.svm import SVCx = 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)中的哪一个相关联。


回答:

这是点 [2,1] 到SVM分类器的分离超平面的距离。因此,第一个值是 [2,1] 到分离第一个类别的超平面的距离,以此类推。你可以在这里查看函数的实现 这里,并在这里阅读文档 这里 以获取更多信息。

编辑:你也可以查看 这个例子

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注