This documentation is for scikit-learn version 0.11-gitOther versions

Citing

If you use the software, please consider citing scikit-learn.

This page

8.26.1.6. sklearn.svm.OneClassSVM

class sklearn.svm.OneClassSVM(kernel='rbf', degree=3, gamma=0.0, coef0=0.0, tol=0.001, nu=0.5, shrinking=True, cache_size=200)

Unsupervised Outliers Detection.

Estimate the support of a high-dimensional distribution.

The implementation is based on libsvm.

Parameters :

kernel : string, optional

Specifies the kernel type to be used in the algorithm. Can be one of ‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’. If none is given ‘rbf’ will be used.

nu : float, optional

An upper bound on the fraction of training errors and a lower bound of the fraction of support vectors. Should be in the interval (0, 1]. By default 0.5 will be taken.

degree : int, optional

Degree of kernel function. Significant only in poly, rbf, sigmoid.

gamma : float, optional (default=0.0)

kernel coefficient for rbf and poly, if gamma is 0.0 then 1/n_features will be taken.

coef0 : float, optional

Independent term in kernel function. It is only significant in poly/sigmoid.

tol: float, optional :

Tolerance for stopping criterion.

shrinking: boolean, optional :

Whether to use the shrinking heuristic.

cache_size: float, optional :

Specify the size of the kernel cache (in MB)

scale_C : bool, default: True

Scale C with number of samples. It makes the setting of C independent of the number of samples. To match libsvm commandline one should use scale_C=False. WARNING: scale_C will disappear in version 0.12.

Attributes

support_ array-like, shape = [n_SV] Index of support vectors.
support_vectors_ array-like, shape = [nSV, n_features] Support vectors.
dual_coef_ array, shape = [n_classes-1, n_SV] Coefficient of the support vector in the decision function.
coef_ array, shape = [n_classes-1, n_features]

Weights asigned to the features (coefficients in the primal problem). This is only available in the case of linear kernel.

coef_ is readonly property derived from dual_coef_ and support_vectors_

intercept_ array, shape = [n_classes-1] Constants in decision function.

Methods

decision_function(X) Distance of the samples X to the separating hyperplane.
fit(X[, sample_weight]) Detects the soft boundary of the set of samples X.
get_params([deep]) Get parameters for the estimator
predict(X) Perform classification or regression samples in X.
predict_log_proba(X) Compute the log likehoods each possible outcomes of samples in X.
predict_proba(X) Compute the likehoods each possible outcomes of samples in T.
set_params(**params) Set the parameters of the estimator.
__init__(kernel='rbf', degree=3, gamma=0.0, coef0=0.0, tol=0.001, nu=0.5, shrinking=True, cache_size=200)
decision_function(X)

Distance of the samples X to the separating hyperplane.

Parameters :

X : array-like, shape = [n_samples, n_features]

Returns :

X : array-like, shape = [n_samples, n_class * (n_class-1) / 2]

Returns the decision function of the sample for each class in the model.

fit(X, sample_weight=None, **params)

Detects the soft boundary of the set of samples X.

Parameters :

X : {array-like, sparse matrix}, shape = [n_samples, n_features]

Set of samples, where n_samples is the number of samples and n_features is the number of features.

Returns :

self : object

Returns self.

Notes

If X is not a C-ordered contiguous array it is copied.

get_params(deep=True)

Get parameters for the estimator

Parameters :

deep: boolean, optional :

If True, will return the parameters for this estimator and contained subobjects that are estimators.

predict(X)

Perform classification or regression samples in X.

For a classification model, the predicted class for each sample in X is returned. For a regression model, the function value of X calculated is returned.

For an one-class model, +1 or -1 is returned.

Parameters :X : {array-like, sparse matrix}, shape = [n_samples, n_features]
Returns :C : array, shape = [n_samples]
predict_log_proba(X)

Compute the log likehoods each possible outcomes of samples in X.

The model need to have probability information computed at training time: fit with attribute probability set to True.

Parameters :

X : array-like, shape = [n_samples, n_features]

Returns :

X : array-like, shape = [n_samples, n_classes]

Returns the log-probabilities of the sample for each class in the model, where classes are ordered by arithmetical order.

Notes

The probability model is created using cross validation, so the results can be slightly different than those obtained by predict. Also, it will meaningless results on very small datasets.

predict_proba(X)

Compute the likehoods each possible outcomes of samples in T.

The model need to have probability information computed at training time: fit with attribute probability set to True.

Parameters :

X : array-like, shape = [n_samples, n_features]

Returns :

X : array-like, shape = [n_samples, n_classes]

Returns the probability of the sample for each class in the model, where classes are ordered by arithmetical order.

Notes

The probability model is created using cross validation, so the results can be slightly different than those obtained by predict. Also, it will meaningless results on very small datasets.

set_params(**params)

Set the parameters of the estimator.

The method works on simple estimators as well as on nested objects (such as pipelines). The former have parameters of the form <component>__<parameter> so that it’s possible to update each component of a nested object.

Returns :self :