SVM的引數說明

2021-10-04 11:09:31 字數 3074 閱讀 4381

sklearn中svm,svm主要有linearsvc、nusvc和svc三種方法。

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(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」核函式

degree:當核函式是多項式核函式的時候,用來控制函式的最高次數。(多項式核函式是將低維的輸入空間對映到高維的特徵空間)

gamma:核函式係數,預設是「auto」,即特徵維度的倒數。

coef0:核函式常數值(y=kx+b中的b值),只有『poly』和『sigmoid』核函式有,預設值是0。

max_iter:最大迭代次數,預設值是-1,即沒有限制。

probability:是否使用概率估計,預設是false。

cache_size:緩衝大小,用來限制計算量大小,預設是200m。

decision_function_shape:與'multi_class'引數含義類似。

support_:以陣列的形式返回支援向量的索引。

support_vectors_:返回支援向量。n_support_:每個類別支援向量的個數。

dual_coef_:支援向量係數。

coef_:每個特徵係數(重要性),只有核函式是linearsvc的時候可用。

intercept_:截距值(常數值)。

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):返回給定測試集和對應標籤的平均準確率。

常用的核函式有以下幾種:表示

解釋linear

線性核函式

poly

多項式核函式

rbf高斯核函式

sigmod

sigmod核函式

precomputed

自定義核函式

Cache control引數說明

header中的cache control引數說明 php編碼 網頁的快取是由http訊息頭中的 cache control 來控制的,常見的取值有private no cache max age must revalidate等,預設為private。其作用根據不同的重新瀏覽方式分為以下幾種情況 ...

nmap引數說明

目標規範 可以通過主機名,ip位址,網路等 例 scanme.nmap.org,dream4.org 24,192.168.0.1 10.0.0 255.1 254 il 從指定檔案獲取主機或網路 ir 隨機選擇主機,0 不限制掃瞄主機數 exclude 排除指定主機或網路 excludefile ...

toString引數說明

格式化數值 有時,我們可能需要將數值以一定的格式來呈現,就需要對數值進行格式化。我們使用格式字串指定格式。格式字串採用以下形式 axx,其中 a 為格式說明符,指定格式化型別,xx 為精度說明符,控制格式化輸出的有效位數或小數字數。格式說明符 說明 示例 輸出 c 貨幣 2.5.tostring c...