當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python sklearn NuSVC用法及代碼示例


本文簡要介紹python語言中 sklearn.svm.NuSVC 的用法。

用法:

class sklearn.svm.NuSVC(*, nu=0.5, kernel='rbf', degree=3, gamma='scale', 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', break_ties=False, random_state=None)

Nu-Support 向量分類。

與 SVC 類似,但使用參數來控製支持向量的數量。

該實現基於 libsvm。

在用戶指南中閱讀更多信息。

參數

nu浮點數,默認=0.5

邊際誤差分數的上限(請參閱用戶指南)和支持向量分數的下限。應該在區間 (0, 1].

kernel{‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’} 或可調用,默認='rbf'

指定要在算法中使用的內核類型。如果沒有給出,將使用‘rbf’。如果給定了可調用對象,則它用於預先計算內核矩陣。

degree整數,默認=3

多項式核函數的度數 (‘poly’)。被所有其他內核忽略。

gamma{‘scale’, ‘auto’} 或浮點數,默認='scale'

‘rbf’, ‘poly’ 和 ‘sigmoid’ 的核係數。

  • 如果gamma='scale'(默認)被傳遞,那麽它使用 1 /(n_features * X.var()) 作為伽瑪值,
  • 如果‘auto’,使用 1 /n_features。
coef0浮點數,默認=0.0

核函數中的獨立項。僅在‘poly’和‘sigmoid’中有意義。

shrinking布爾,默認=真

是否使用收縮啟發式。請參閱用戶指南。

probability布爾,默認=假

是否啟用概率估計。這必須在調用 fit 之前啟用,這會減慢該方法,因為它在內部使用 5 折交叉驗證,並且 predict_proba 可能與 predict 不一致。在用戶指南中閱讀更多信息。

tol浮點數,默認=1e-3

停止標準的容差。

cache_size浮點數,默認=200

指定內核緩存的大小(以 MB 為單位)。

class_weight{dict,‘balanced’},默認=無

對於 SVC,將第 i 類的參數 C 設置為class_weight[i]*C。如果沒有給出,所有的類都應該有一個權重。 “balanced” 模式使用 y 的值自動調整與類頻率成反比的權重,如 n_samples / (n_classes * np.bincount(y))

verbose布爾,默認=假

啟用詳細輸出。請注意,此設置利用了 libsvm 中的 per-process 運行時設置,如果啟用,該設置可能無法在多線程上下文中正常工作。

max_iter整數,默認=-1

求解器內迭代的硬限製,或 -1 表示無限製。

decision_function_shape{‘ovo’, ‘ovr’},默認='ovr'

是否像所有其他分類器一樣返回形狀為 (n_samples, n_classes) 的 one-vs-rest (‘ovr’) 決策函數,或者返回 libsvm 的原始 one-vs-one (‘ovo’) 決策函數,其形狀為 (n_samples, n_classes * (n_classes - 1) /2)。但是,one-vs-one (‘ovo’) 始終用作多類別策略。對於二元分類,該參數被忽略。

break_ties布爾,默認=假

如果為真,decision_function_shape='ovr',並且類數 > 2,predict 將根據 decision_function 的置信度值打破平局;否則返回綁定類中的第一個類。請注意,與簡單的預測相比,打破平局的計算成本相對較高。

random_stateint、RandomState 實例或無,默認=無

控製偽隨機數生成,以對數據進行隨機化以進行概率估計。當 probability 為 False 時忽略。傳遞 int 以獲得跨多個函數調用的可重現輸出。請參閱詞匯表。

屬性

class_weight_ndarray 形狀 (n_classes,)

每個類的參數 C 的乘數。根據class_weight 參數計算。

classes_ndarray 形狀 (n_classes,)

唯一的類標簽。

coef_ndarray 形狀 (n_classes * (n_classes -1) /2, n_features)

kernel="linear" 時分配給特征的權重。

dual_coef_ndarray 形狀 (n_classes - 1, n_SV)

決策函數中支持向量的對偶係數(參見數學公式)乘以它們的目標。對於多類,所有 1-vs-1 分類器的係數。多類情況下係數的布局有些重要。有關詳細信息,請參閱用戶指南的多類別部分。

fit_status_int

如果正確擬合,則為 0,如果算法未收斂,則為 1。

intercept_ndarray 形狀 (n_classes * (n_classes - 1) /2,)

決策函數中的常數。

n_features_in_int

擬合期間看到的特征數。

feature_names_in_ndarray 形狀(n_features_in_,)

擬合期間看到的特征名稱。僅當 X 具有全為字符串的函數名稱時才定義。

support_ndarray 形狀 (n_SV,)

支持向量的索引。

support_vectors_ndarray 形狀(n_SV,n_features)

支持向量。

n_support_ndarray 形狀 (n_classes,), dtype=int32

每個類的支持向量數。

fit_status_int

如果正確擬合,則為 0,如果算法未收斂,則為 1。

probA_ndarray 形狀 (n_classes * (n_classes - 1) /2,)

probability=True 時在 Platt 縮放中學習的參數。

probB_ndarray 形狀 (n_classes * (n_classes - 1) /2,)

probability=True 時在 Platt 縮放中學習的參數。

shape_fit_int 形狀的元組 (n_dimensions_of_X,)

訓練向量 X 的數組維度。

參考

1

LIBSVM:支持向量機庫

2

普拉特,約翰 (1999)。 “支持向量機的概率輸出以及與正則化似然方法的比較。”

例子

>>> import numpy as np
>>> X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]])
>>> y = np.array([1, 1, 2, 2])
>>> from sklearn.pipeline import make_pipeline
>>> from sklearn.preprocessing import StandardScaler
>>> from sklearn.svm import NuSVC
>>> clf = make_pipeline(StandardScaler(), NuSVC())
>>> clf.fit(X, y)
Pipeline(steps=[('standardscaler', StandardScaler()), ('nusvc', NuSVC())])
>>> print(clf.predict([[-0.8, -1]]))
[1]

相關用法


注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.svm.NuSVC。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。