Unsupervised Outlier Detection.
Estimate the support of a high-dimensional distribution.
The implementation is based on libsvm.
Read more in the :ref:`User Guide <outlier_detection>`.
Parameters ---------- kernel : string, optional (default='rbf') Specifies the kernel type to be used in the algorithm. It must be one of 'linear', 'poly', 'rbf', 'sigmoid', 'precomputed' or a callable. If none is given, 'rbf' will be used. If a callable is given it is used to precompute the kernel matrix.
degree : int, optional (default=3) Degree of the polynomial kernel function ('poly'). Ignored by all other kernels.
gamma : 'scale', 'auto'
or float, optional (default='scale') Kernel coefficient for 'rbf', 'poly' and 'sigmoid'.
- if ``gamma='scale'`` (default) is passed then it uses 1 / (n_features * X.var()) as value of gamma,
- if 'auto', uses 1 / n_features.
.. versionchanged:: 0.22 The default value of ``gamma`` changed from 'auto' to 'scale'.
coef0 : float, optional (default=0.0) Independent term in kernel function. It is only significant in 'poly' and 'sigmoid'.
tol : float, optional Tolerance for stopping criterion.
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.
shrinking : boolean, optional Whether to use the shrinking heuristic.
cache_size : float, optional Specify the size of the kernel cache (in MB).
verbose : bool, default: False Enable verbose output. Note that this setting takes advantage of a per-process runtime setting in libsvm that, if enabled, may not work properly in a multithreaded context.
max_iter : int, optional (default=-1) Hard limit on iterations within solver, or -1 for no limit.
Attributes ---------- support_ : array-like of shape (n_SV) Indices of support vectors.
support_vectors_ : array-like of shape (n_SV, n_features) Support vectors.
dual_coef_ : array, shape = 1, n_SV
Coefficients of the support vectors in the decision function.
coef_ : array, shape = 1, n_features
Weights assigned to the features (coefficients in the primal problem). This is only available in the case of a linear kernel.
`coef_` is readonly property derived from `dual_coef_` and `support_vectors_`
intercept_ : array, shape = 1,
Constant in the decision function.
offset_ : float Offset used to define the decision function from the raw scores. We have the relation: decision_function = score_samples - `offset_`. The offset is the opposite of `intercept_` and is provided for consistency with other outlier detection algorithms.
fit_status_ : int 0 if correctly fitted, 1 otherwise (will raise warning)
Examples -------- >>> 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) # doctest: +ELLIPSIS array(1.7798..., 2.0547..., 2.0556..., 2.0561..., 1.7332...
)