背景/问题
我正在尝试使用 Scikit-learn 创建一个 SVM。我有一个训练集(这里是它的链接https://dl.dropboxusercontent.com/u/9876125/training_patients.txt),我加载它然后用来训练 SVM。训练集长 3600 行。当我使用所有 3600 个元组时,SVM 永远不会完成训练......但是当我只使用前 3594 个元组时,它会在一分钟内完成训练。我尝试过使用各种不同大小的训练集,但同样的事情还在继续发生……取决于我使用 SVM 的元组数量,要么训练得非常快,要么永远不会完成。这使我得出结论,SVM 难以根据数据收敛到答案。
我关于这是一个收敛问题的假设是否正确?如果是这样,解决方案是什么?如果不是,还有什么问题?
代码
import pylab as pl # @UnresolvedImport
from sklearn.datasets import load_svmlight_file
print(doc)
import numpy as np
from sklearn import svm, datasets
print "loading training setn"
X_train, y_train = load_svmlight_file("training_patients.txt")
h = .02 # step size in the mesh
C = 1.0 # SVM regularization parameter
print "creating svmn"
poly_svc = svm.SVC(kernel='poly', cache_size=600, degree=40, C=C).fit(X_train, y_train)
print "all done"