背景/問題麻煩訓練SVM(scikit學習包)
我試圖用Scikit學習創建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"
嘗試將'SVC'設置爲'verbose = 1'。它沒有告訴你很多,但它可能暗示它是否還在做任何事情。 (同樣要注意SVC訓練在最壞的情況下可能需要三次) –