sklearn中的支持向量机SVC
?官方鏈接
sklearn.svm.SVC — scikit-learn 1.0.2 documentationhttps://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC該方法是基于libsvm(支持向量機庫)實現(xiàn)的
libsvm官網(wǎng)
LIBSVM -- A Library for Support Vector MachinesAn integrated and easy-to-use tool for support vector classification and regressionhttps://www.csie.ntu.edu.tw/~cjlin/libsvm/
在官方文檔中說明該SVC適合萬個樣本數(shù)據(jù)集
如果超過萬個樣本數(shù)據(jù)集,即對于大型數(shù)據(jù)集,考慮使用LinearSVCor?SGDClassifier代替
一、參數(shù)介紹
1.1重點參數(shù)介紹
該SVC重要的參數(shù)就是核函數(shù)kernel
kernel,提供的可選參數(shù)有
{‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’} or callable, 默認=’rbf’
linear:線性核函數(shù)? u'v
poly:多項式核函數(shù)? (gamma*u'*v + coef0)^degree
?rbf:徑向基函數(shù)? exp(-gamma|u-v|^2)
sigmoid:sigmoid核函數(shù)?tanh(gamma*u'*v + coef0)
precomputed:
1.2其他參數(shù)(主要調(diào)節(jié)參數(shù))
主要調(diào)節(jié)的參數(shù)有:C、kernel、degree、gamma、coef0。
| C | 默認=1.0 正則化參數(shù)。正則化的強度與 C 成反比。必須嚴格為正。罰分是平方 l2 罰分。 C越大,相當于懲罰松弛變量,希望松弛變量接近0,即對誤分類的懲罰增大,趨向于對訓練集全分對的情況,這樣對訓練集測試時準確率很高,但泛化能力弱。C值小,對誤分類的懲罰減小,允許容錯,將他們當成噪聲點,泛化能力較強。 |
| kernel | 見1.1 |
| degree | 多項式核函數(shù) ('poly') 的度數(shù)。被所有其他內(nèi)核忽略。 |
| gamma | {'scale', 'auto'} 或浮點數(shù),默認 ='scale' 'rbf'、'poly' 和 'sigmoid' 的核系數(shù)。
|
| coef0 | 默認=0.0 核函數(shù)中的獨立項。它僅在“poly”和“sigmoid”中有意義。 |
?補充:
對于多分類學習需要設置decision_function_shape參數(shù)
{'ovo','ovr'},默認='ovr'
是否像所有其他分類器一樣返回形狀為 (n_samples, n_classes) 的一對一 ('ovr') 決策函數(shù),或者返回具有形狀 (n_samples) 的 libsvm 的原始一對一 ('ovo') 決策函數(shù), n_classes * (n_classes - 1) / 2)。然而,一對一('ovo')總是被用作多類策略。對于二元分類,該參數(shù)被忽略。
如需詳細解釋請查看周志華的《機器學習》清華出版社第63頁
?
?二、參數(shù)優(yōu)化(網(wǎng)格搜索+粒子群優(yōu)化算法)
此處我們采用網(wǎng)格搜索+粒子群優(yōu)化算法對支持向量機進行優(yōu)化
先采用網(wǎng)格搜索進行大致范圍搜索,然后利用粒子群優(yōu)化算法進行詳細優(yōu)化
總結(jié)
以上是生活随笔為你收集整理的sklearn中的支持向量机SVC的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信用卡以卡办卡还需要工作证明吗
- 下一篇: 【转】wifi的几种工作模式