本文簡要介紹python語言中 sklearn.svm.SVC
的用法。
用法:
class sklearn.svm.SVC(*, C=1.0, 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)
C-Support 向量分類。
該實現基於 libsvm。擬合時間至少與樣本數量成二次方關係,超過數萬個樣本可能不切實際。對於大型數據集,可以考慮使用
LinearSVC
或SGDClassifier
,可能在Nystroem
轉換器之後。多類支持根據one-vs-one 方案處理。
有關所提供內核函數的精確數學公式以及
gamma
、coef0
和degree
如何相互影響的詳細信息,請參閱敘述文檔中的相應部分:內核函數。在用戶指南中閱讀更多信息。
- C:浮點數,默認=1.0
正則化參數。正則化的強度與 C 成反比。必須嚴格為正。罰分是平方 l2 罰分。
- kernel:{‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’} 或可調用,默認='rbf'
指定要在算法中使用的內核類型。如果沒有給出,將使用‘rbf’。如果給定了可調用對象,則它用於從數據矩陣中預先計算內核矩陣;該矩陣應該是一個形狀為
(n_samples, n_samples)
的數組。- 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_state:int、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每個類的支持向量數。
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
的數組維度。
參數:
屬性:
參考:
例子:
>>> import numpy as np >>> from sklearn.pipeline import make_pipeline >>> from sklearn.preprocessing import StandardScaler >>> X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]]) >>> y = np.array([1, 1, 2, 2]) >>> from sklearn.svm import SVC >>> clf = make_pipeline(StandardScaler(), SVC(gamma='auto')) >>> clf.fit(X, y) Pipeline(steps=[('standardscaler', StandardScaler()), ('svc', SVC(gamma='auto'))])
>>> print(clf.predict([[-0.8, -1]])) [1]
相關用法
- Python sklearn SVR用法及代碼示例
- Python sklearn ShrunkCovariance用法及代碼示例
- Python sklearn SelfTrainingClassifier用法及代碼示例
- Python sklearn SelectFromModel用法及代碼示例
- Python sklearn SparsePCA用法及代碼示例
- Python sklearn SpectralEmbedding用法及代碼示例
- Python sklearn SelectFpr用法及代碼示例
- Python sklearn ShuffleSplit用法及代碼示例
- Python sklearn StratifiedGroupKFold用法及代碼示例
- Python sklearn SpectralClustering用法及代碼示例
- Python sklearn Sum用法及代碼示例
- Python sklearn SpectralBiclustering用法及代碼示例
- Python sklearn SelectKBest用法及代碼示例
- Python sklearn SimpleImputer用法及代碼示例
- Python sklearn SGDOneClassSVM用法及代碼示例
- Python sklearn StratifiedShuffleSplit用法及代碼示例
- Python sklearn SGDRegressor用法及代碼示例
- Python sklearn SequentialFeatureSelector用法及代碼示例
- Python sklearn SplineTransformer用法及代碼示例
- Python sklearn SelectPercentile用法及代碼示例
- Python sklearn SkewedChi2Sampler用法及代碼示例
- Python sklearn SparseCoder用法及代碼示例
- Python sklearn SGDClassifier用法及代碼示例
- Python sklearn StratifiedKFold用法及代碼示例
- Python sklearn SparseRandomProjection用法及代碼示例
注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.svm.SVC。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。