我使用scikit-learn库中的LinearSVC,我想知道是否可能以某种方式拉出训练后预测的模型使用的向量。尝试谷歌一段时间,但没有任何运气。有谁知道?scikit-learn,linearsvc - 如何从训练的SVM获取支持向量?
回答
不幸的是,似乎没有办法做到这一点。 LinearSVC调用liblinear(see relevant code),但不检索矢量,只检索系数和截距。
一个替代方案将是使用SVC与 '线性' 的内核(LIBSVM代替基于liblinear),但也poly
,dbf
和sigmoid
内核支持此选项:
from sklearn import svm
X = [[0, 0], [1, 1]]
y = [0, 1]
clf = svm.SVC(kernel='linear')
clf.fit(X, y)
print clf.support_vectors_
输出:
[[ 0. 0.]
[ 1. 1.]]
liblinear可以更好地适应大量的样本,但除此之外大部分是等价的。
谢谢,Elyase。如果我将使用scikit-learn中可用的其他类型的SVC,是否有可能以某种方式返回向量(或者如何使用polynomal内核正确调用它们)? – 2014-10-08 19:54:35
@MaximHaytovich,是的,我已经更新了我的答案。 – elyase 2014-10-08 20:57:05
这可以帮助你。
clf = svm.SVC(kernel='rbf',C=0.05)
clf.fit(traindata,y)
print clf.support_vectors_
此链接可以根据需要提供更多信息。 http://scikit-learn.org/stable/modules/svm.html
我不知道是否有帮助,但我正在寻找类似的东西,结论是,如果:
clf = svm.LinearSVC()
那么这样的:
clf.decision_function(x)
等于这样的:
clf.cof_.dot(x) + clf.intercept_
- 1. 在SVM中,支持向量不能成为训练样本吗?
- 2. 支持向量机一对一训练
- 3. 我不能训练我的数据使用支持向量机训练功能的支持向量机
- 4. accord.net svm增量训练
- 5. 如何形成支持向量机的训练数据OpenCV3
- 6. 如何从Python中的SVM分类器提取支持向量?
- 7. 如何在matlab中训练支持向量机?
- 8. SVM(支持向量机)opencv
- 9. 使用多个功能的支持向量机(SVM)培训
- 10. 使用颜色直方图训练支持OpenCV的SVM
- 11. 支持向量机(SVM):通过训练SVM结合每个参数的单独分数
- 12. 如何创建SVM(EmguCV)的训练集?
- 13. Opencv 3支持SVM训练自动缩放标签吗?
- 14. LS-SVM的训练:内存
- 15. 从哪里获取面向表情识别的SVM训练数据?
- 16. 如何根据一组图像训练一个支持opencv的SVM?
- 17. 训练隐性支持向量机的模型
- 18. 使用支持向量机训练我的数据集
- 19. 如何在MATLAB上开始SVM训练
- 20. 加载训练SVM - Emgu CV
- 21. 在OpenCV中训练SVM
- 22. OpenCV线性SVM不训练
- 23. 无法训练线性SVM机器
- 24. 训练支持向量机分类器时Wierd behaviors
- 25. 无法训练pySpark支持向量机,标记点问题
- 26. LibSVM将我所有的训练向量变成支持向量,为什么?
- 27. 如何获得Scikit-learn的svm中的训练错误?
- 28. Sklearn支持向量机与Matlab SVM
- 29. SVM支持向量机回归openCv C++
- 30. 如何使用Python训练支持向量机分类器头盔检测
我是指支持向量,''LinearSVC'实际上并不使用这些向量。 – 2014-10-09 09:20:28
LinearSVC没有使用支持向量,但这个概念依然存在,并且可能仍然有用。 – 2018-01-11 23:07:19