我使用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. accord.net svm增量训练
- 3. 我不能训练我的数据使用支持向量机训练功能的支持向量机
- 4. SVM(支持向量机)opencv
- 5. 如何在matlab中训练支持向量机?
- 6. 使用多个功能的支持向量机(SVM)培训
- 7. 使用颜色直方图训练支持OpenCV的SVM
- 8. 如何在MATLAB上开始SVM训练
- 9. 加载训练SVM - Emgu CV
- 10. OpenCV线性SVM不训练
- 11. 训练支持向量机分类器时Wierd behaviors
- 12. LibSVM将我所有的训练向量变成支持向量,为什么?
- 13. Sklearn支持向量机与Matlab SVM
- 14. OpenCV + HOG + SVM:支持SVM单特征向量所需的帮助
- 15. 如何使用Python训练支持向量机分类器头盔检测
- 16. 一对一地训练scikit svm(在线或随机训练)
- 17. 不同维度的图像训练SVM
- 18. OpenCv中SVM的训练矩阵
- 19. Opencv 3支持向量机培训
- 20. scikit学习SVM,如何保存/加载支持向量?
- 21. scikit在训练期间学习SVM停止和访问
- 22. 在SVM中只训练一次python
- 23. Java的OpenCV的训练SVM错误 - 输入样本必须是1维向量
- 24. 如何获得训练数据集的预测值最小二乘支持向量回归
- 25. 将训练数据添加到现有的LinearSVC
- 26. 限制R svm package e1071中支持向量的数量?
- 27. Svm预测默认值Scikitlearn
- 28. 如何训练matlab中的SVM用于字符识别?
- 29. 如何提高Matlab中SVM训练和分类的准确性?
- 30. 如何在R中使用预训练的SVM模型?
我是指支持向量,''LinearSVC'实际上并不使用这些向量。 – 2014-10-09 09:20:28
LinearSVC没有使用支持向量,但这个概念依然存在,并且可能仍然有用。 – 2018-01-11 23:07:19