SKLearn中SVM引數自動選擇的最簡單示例(使用GridSearchCV)
阿新 • • 發佈:2019-01-10
大家都知道,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,其他的引數值可以參考這個表: