日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Sklearn参数详解—SVM

發布時間:2023/12/19 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Sklearn参数详解—SVM 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

總第108篇

本篇主要講講Sklearn中SVM,SVM主要有LinearSVC、NuSVC和SVC三種方法,我們將具體介紹這三種分類方法都有哪些參數值以及不同參數值的含義。

在開始看本篇前你可以看看這篇:支持向量機詳解

LinearSVC

class sklearn.svm.LinearSVC(penalty='l2', loss='squared_hinge', dual=True, tol=0.0001, C=1.0, multi_class='ovr', fit_intercept=True, intercept_scaling=1, class_weight=None, verbose=0, random_state=None, max_iter=1000)

penalty:正則化參數,L1和L2兩種參數可選,僅LinearSVC有。
loss:損失函數,有‘hinge’和‘squared_hinge’兩種可選,前者又稱L1損失,后者稱為L2損失,默認是是’squared_hinge’,其中hinge是SVM的標準損失,squared_hinge是hinge的平方。
dual:是否轉化為對偶問題求解,默認是True。
tol:殘差收斂條件,默認是0.0001,與LR中的一致。
C:懲罰系數,用來控制損失函數的懲罰系數,類似于LR中的正則化系數。
multi_class:負責多分類問題中分類策略制定,有‘ovr’和‘crammer_singer’ 兩種參數值可選,默認值是’ovr’,'ovr'的分類原則是將待分類中的某一類當作正類,其他全部歸為負類,通過這樣求取得到每個類別作為正類時的正確率,取正確率最高的那個類別為正類;‘crammer_singer’ 是直接針對目標函數設置多個參數值,最后進行優化,得到不同類別的參數值大小。
fit_intercept:是否計算截距,與LR模型中的意思一致。
class_weight:與其他模型中參數含義一樣,也是用來處理不平衡樣本數據的,可以直接以字典的形式指定不同類別的權重,也可以使用balanced參數值。
verbose:是否冗余,默認是False.
random_state:隨機種子的大小。
max_iter:最大迭代次數,默認是1000。

對象

coef_:各特征的系數(重要性)。
intercept_:截距的大小(常數值)。

NuSVC

class sklearn.svm.NuSVC(nu=0.5, 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='ovr', random_state=None))

nu:訓練誤差部分的上限和支持向量部分的下限,取值在(0,1)之間,默認是0.5
kernel:核函數,核函數是用來將非線性問題轉化為線性問題的一種方法,默認是“rbf”核函數,常用的核函數有以下幾種:

表示解釋
linear線性核函數
poly多項式核函數
rbf高斯核函數
sigmodsigmod核函數
precomputed自定義核函數

關于不同核函數之間的區別,可以參考這篇文章:https://blog.csdn.net/batuwuhanpei/article/details/52354822

degree:當核函數是多項式核函數的時候,用來控制函數的最高次數。(多項式核函數是將低維的輸入空間映射到高維的特征空間)
gamma:核函數系數,默認是“auto”,即特征維度的倒數。
coef0:核函數常數值(y=kx+b中的b值),只有‘poly’和‘sigmoid’核函數有,默認值是0。
max_iter:最大迭代次數,默認值是-1,即沒有限制。
probability:是否使用概率估計,默認是False。
decision_function_shape:與'multi_class'參數含義類似。
cache_size:緩沖大小,用來限制計算量大小,默認是200M。

對象

support_:以數組的形式返回支持向量的索引。
support_vectors_:返回支持向量。
n_support_:每個類別支持向量的個數。
dual_coef_:支持向量系數。
coef_:每個特征系數(重要性),只有核函數是LinearSVC的時候可用。
intercept_:截距值(常數值)。

SVC

class 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='ovr', random_state=None)

C:懲罰系數。
SVC和NuSVC方法基本一致,唯一區別就是損失函數的度量方式不同(NuSVC中的nu參數和SVC中的C參數)。

方法

三種分類方法的方法基本一致,所以就一起來說啦。

decision_function(X):獲取數據集X到分離超平面的距離。
fit(X, y):在數據集(X,y)上使用SVM模型。
get_params([deep]):獲取模型的參數。
predict(X):預測數據值X的標簽。
score(X,y):返回給定測試集和對應標簽的平均準確率。

你還可以看:

Sklearn參數詳解—LR模型

Sklearn參數詳解--決策樹

總結

以上是生活随笔為你收集整理的Sklearn参数详解—SVM的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。