sklearn.svm.OneClassSVM?
class sklearn.svm.OneClassSVM(*, kernel='rbf', degree=3, gamma='scale', coef0=0.0, tol=0.001, nu=0.5, shrinking=True, cache_size=200, verbose=False, max_iter=-1)
無監督異常值檢測。
估計高維分布的支持。
該實現基于libsvm。
更多信息請參閱 使用指南.
參數 | 說明 |
---|---|
kernel | {‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’}, 默認=’rbf’ 指定算法中使用的內核類型。它必須是“linear”,“poly”,“rbf”,“sigmoid”,“precomputed”或者“callable”中的一個。如果沒有給出,將默認使用“rbf”。如果給定了一個可調用函數,則用它來預先計算核矩陣。 |
degree | 整數型,默認=3 多項式核函數的次數(' poly ')。將會被其他內核忽略。 |
gamma | 浮點數或者{‘scale’, ‘auto’} , 默認=’scale’ 核系數包含‘rbf’, ‘poly’ 和‘sigmoid’ 如果gamma='scale'(默認),則它使用1 / (n_features * X.var())作為gamma的值, 如果是auto,則使用1 / n_features。 在0.22版本有改動:默認的gamma從“auto”改為“scale”。 |
coef0 | 浮點數,默認=0.0 核函數中的獨立項。它只在' poly '和' sigmoid '中有意義。 |
tol | 浮點數,默認=1e-3 殘差收斂條件。 |
nu | 浮點數,默認=0.5 邊界誤差分數的上限和支持向量分數的下限。區間限定在(0,1)內。默認情況下取0.5。 |
shrinking | 布爾值,默認=True 是否使用縮小啟發式,參見使用指南. |
cache_size | 浮點數,默認=200 指定內核緩存的大小(以MB為單位)。 |
verbose | 布爾值,默認=False 是否啟用詳細輸出。 請注意,此參數針對liblinear中運行每個進程時設置,如果啟用,則可能無法在多線程上下文中正常工作。 |
max_iter | 整數型,默認=-1 對求解器內的迭代進行硬性限制,或者為-1(無限制時)。 |
屬性 | 說明 |
---|---|
support_ | 形如(n_SV,)的數組 支持向量的指標。 |
support_vectors_ | 形如(n_SV, n_features)的數組 支持向量 |
dual_coef_ | 形如(n_class-1, n_SV)的數組 決策函數中支持向量的系數。 |
coef_ | 形如(n_class * (n_class-1) / 2, n_features)的數組 分配給特征的權重(原始問題的系數),僅在線性內核的情況下可用。 coef_ 是一個繼承自raw_coef_ 的只讀屬性,它遵循liblinear的內部存儲器布局。 |
intercept_ | 形如(n_class * (n_class-1) / 2,)的數組 決策函數中的常量。 |
offset_ | 浮點型 用于從原始分數定義決策函數的偏移量。我們有這樣的關系:decision_function = score_samples - offset_。偏移量與intercept_相反,是為了與其他離群點檢測算法保持一致而提供的。 此部分新增在版本0.20。 |
fit_status_ | 整數型 如果擬合無誤,則為0;如果算法未收斂,則為1。 |
示例:
>>> from sklearn.svm import OneClassSVM
>>> X = [[0], [0.44], [0.45], [0.46], [1]]
>>> clf = OneClassSVM(gamma='auto').fit(X)
>>> clf.predict(X)
array([-1, 1, 1, 1, -1])
>>> clf.score_samples(X)
array([1.7798..., 2.0547..., 2.0556..., 2.0561..., 1.7332...])
方法:
decision_function (X) |
返回各樣本點到超平面的函數距離 |
---|---|
fit (X, y[, sample_weight]) |
根據給定的訓練數據擬合支持向量機模型。 |
fit_predict (X[, y]) |
對X擬合并返回X的標簽。 |
get_params ([deep]) |
獲取這個估計器的參數。 |
predict (X) |
在X中對樣本進行分類 |
score_samples (X) |
樣本的原始評分功能。 |
set_params (**params) |
設置這個估計器的參數。 |
__init__(*, kernel='rbf', degree=3, gamma='scale', coef0=0.0, tol=0.001, nu=0.5, shrinking=True, cache_size=200, verbose=False, max_iter=-1)
初始化self。請參閱help(type(self)獲取準確的說明。
decision_function
返回各樣本點到超平面的函數距離(signed distance),正的為正常樣本,負的為異常樣本
參數 | 說明 |
---|---|
X | 形如(n_samples, n_features)的數組 數據矩陣 |
返回值 | 說明 |
---|---|
dec | 形如(n_samples,)的數組 返回模型中每個類的樣本決策函數。 |
fit(X, y=None, sample_weight=None, **params)
檢測樣本集合X的軟邊界。
參數 | 說明 |
---|---|
X | 形如(n_samples, n_features) 的數組或者稀疏矩陣 訓練向量,其中n_samples為樣本數量,n_features為特征數量。 |
sample_weight | 形如(n_samples,)的數組,默認=None 樣本的權重。每個樣品重新定標C。較高的權重將使分類器更加注重這些樣本點。 |
y | 可忽略 未使用,按慣例提供API一致性。 |
返回值 | 說明 |
---|---|
self | object |
注:
如果X不是C-ordered的連續數組,則將其復制。
fit_predict(X, y=None)
對X進行擬合并返回X的標簽
對于離群值返回-1,否則返回1
參數 | 說明 |
---|---|
X | 形如(n_samples, n_features) 的數組或者稀疏矩陣 |
y | 可忽略 未使用,按慣例提供API一致性。 |
get_params(deep=True)
獲取當前估計量的參數
參數 | 說明 |
---|---|
deep | bool, default = True 如果為真,則將返回此估計器和其所包含子對象的參數 |
返回值 | 說明 |
---|---|
params | mapping of string to any 參數名被映射至他們的值 |
predict(X)
對X中的樣本執行分類。
對于返回值為+1或-1的one-class模型
參數 | 說明 |
---|---|
X | 形如(n_samples, n_features) 或者 (n_samples_test, n_samples_train)的數組或者稀疏矩陣 對于內核=“precomputed”,X的預期形狀為(n_samples_test,n_samples_train)。 |
返回值 | 說明 |
---|---|
y_pred | 形如(n_sample, )的數組 X中樣本的類別標簽。 |
score_samples(X)
樣本的原始評分功能。
參數 | 說明 |
---|---|
X | 形如(n_samples, n_features)的數組 數據矩陣 |
返回值 | 說明 |
---|---|
score_samples | 形如(n_samples, )的數組 返回樣本的(未移位)評分函數。 |
set_params(self, **params)
設置當前估計量的參數。
該方法適用于簡單估計量和嵌套對象(如pipline)。后者具有形式為<component>_<parameter>
的參數,這樣就讓更新嵌套對象的每個組件成為了可能。
參數 | 說明 |
---|---|
**params | dict 量參數 |
返回值 | 說明 |
---|---|
self | object 估計器實例 |