2016-11-30 69 views
2

我正在使用scikitlearn來訓練SVM。我想知道可以經常停下訓練來測試當前模型在我的驗證集上的準確性。最終我想要生成一個驗證準確度曲線。使用.Fit()一直訓練SVM,但這只是在末尾給我一個精度數據點scikit在訓練期間學習SVM停止和訪問

回答

0

有一個小技巧可以用於實際。

你可以玩SVC分類器的參數max_iter。例如,您可以獲得具有不同迭代次數的多個分類器。

這裏是你可以做什麼:

import numpy as np 

for i in np.arange(10, 1000, 100): 
    svm = SVC(max_iter=i) # and your other parameters 
    svm.fit(X, y) 
    ... # here retrieve your metrics 

這樣做會告訴你如何分類進行不同層次的培訓。

+1

我實際上在我發佈Stack Overflow之前試過這個,但我記得在某處讀取.Fit()會刪除它已經學過的權重。我希望.Fit()從每次通過循環的地方停下來。 –