1. 程式人生 > >SKLearn中SVM引數自動選擇的最簡單示例(使用GridSearchCV)

SKLearn中SVM引數自動選擇的最簡單示例(使用GridSearchCV)

大家都知道,SVM如果在調參比較好的情況下,可以達到很好的分類效果,不過SVM也確實引數比較多,例如在這裡介紹的:

也有些朋友對調參過程做了比較詳細的解釋:

據網友介紹,SVM調參過程中應主要調kernel,C 和gamma,對於SKLearn,我們可以使用GridSearchCV對引數進行自動化搜尋,有網友對其使用方法進行了詳細介紹:

不過上面的部落格和教程都有些複雜,我這裡給出最簡單的示例:

from sklearn import svm
from sklearn.model_selection import GridSearchCV

svr = svm.SVC()
parameters = {'kernel':('linear', 'rbf'), 'C':[1, 2, 4], 'gamma':[0.125, 0.25, 0.5 ,1, 2, 4]}
clf = GridSearchCV(svr, parameters, scoring='f1')
clf.fit(X, y)
print('The parameters of the best model are: ')
print(clf.best_params_)

關於scoring這個引數,在這裡有更多的介紹:

我這裡用的是f1,其他的引數值可以參考這個表: