sklearn集成支持向量機svm.SVC參數說明


經常用到sklearn中的SVC函數,這里把文檔中的參數翻譯了一些,以備不時之需。

本身這個函數也是基於libsvm實現的,所以在參數設置上有很多相似的地方。(PS: libsvm中的二次規划問題的解決算法是SMO)。
sklearn.svm.SVC(C=1.0, kernel='rbf', degree=3, gamma='auto', coef0=0.0, shrinking=True, probability=False,

tol=0.001, cache_size=200, class_weight=None, verbose=False, max_iter=-1, decision_function_shape=None,random_state=None)

參數:

C:C-SVC的懲罰參數C?默認值是1.0

C越大,相當於懲罰松弛變量,希望松弛變量接近0,即對誤分類的懲罰增大,趨向於對訓練集全分對的情況,這樣對訓練集測試時准確率很高,但泛化能力弱。C值小,對誤分類的懲罰減小,允許容錯,將他們當成噪聲點,泛化能力較強。

kernel:核函數,默認是rbf,可以是‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’

  0 – 線性:u'v

   1 – 多項式:(gamma*u'*v + coef0)^degree

  2 – RBF函數:exp(-gamma|u-v|^2)

  3 –sigmoid:tanh(gamma*u'*v + coef0)

degree:多項式poly函數的維度,默認是3,選擇其他核函數時會被忽略。

gamma : ‘rbf’,‘poly’ 和‘sigmoid’的核函數參數。默認是’auto’,則會選擇1/n_features

coef0 :核函數的常數項。對於‘poly’和 ‘sigmoid’有用。

probability是否采用概率估計?.默認為False

shrinking:是否采用shrinking heuristic方法,默認為true

tol停止訓練的誤差值大小,默認為1e-3

cache_size:核函數cache緩存大小,默認為200

class_weight:類別的權重,字典形式傳遞。設置第幾類的參數Cweight*C(C-SVC中的C)

verbose:允許冗余輸出?

max_iter:最大迭代次數。-1為無限制。

decision_function_shape‘ovo’, ‘ovr’ or None, default=None3

random_state:數據洗牌時的種子值,int

主要調節的參數有:C、kernel、degree、gamma、coef0。

僅供參考,正確性自行檢測,最好閱讀官方文檔。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM