python-2.7 - 当使用 3 个类时,Scikitlearn 的 SVM 中获取决策函数的输出意味着什么

标签 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)。

最佳答案

是点[2,1]到SVM分类器分离超平面的距离。因此,第一个值是 [2,1] 与分隔第一类的超平面的距离,依此类推。可以看到该函数的实现here并阅读文档 here了解更多信息。

编辑:您还可以查看 this example也是如此。

关于python-2.7 - 当使用 3 个类时,Scikitlearn 的 SVM 中获取决策函数的输出意味着什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46327725/

相关文章:

python - 使用 dictConfig 时如何重新配置​​记录器格式化程序

python - 从 Python 中的集合中选择一个项目

machine-learning - 批量大小在推理中是否重要

python - sklearn.externals 模块说明

python-2.7 - 如何在 Python 2.7 中引发弃用警告?

python - 返回 python 列表中的第一个非 NaN 值

machine-learning - 我的代码在 tensorflow 中使用批量归一化层是否正确?

machine-learning - tensorflow 模型选择?我选择哪个型号?

python - 有效地将数据帧作为 y 和 X 传递给 scikit-learn 拟合

python - 为什么 cross_validate 返回 NaN 分数?