Contents

6.1.6. scikits.learn.svm.OneClassSVM

class scikits.learn.svm.OneClassSVM(kernel='rbf', degree=3, gamma=0.0, coef0=0.0, cache_size=100.0, eps=0.001, nu=0.5, shrinking=True)

Unsupervised Outliers Detection.

Estimate the support of a high-dimensional distribution.

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

kernel coefficient for rbf and poly, by default 1/n_features will be taken.

coef0 : float, optional

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

eps: float, optional :

precision for stopping criteria

shrinking: boolean, optional :

wether to use the shrinking heuristic.

cache_size: float, optional :

specify the size of the cache (in MB)

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.
intercept_ array, shape = [n_classes-1] Constants in decision function.

Methods

decision_function(T) Calculate the distance of the samples T to the separating hyperplane.
fit(X[, class_weight, sample_weight]) Detects the soft boundary of the set of samples X.
predict(X) This function does classification or regression on an array of
predict_log_proba(T) This function does classification or regression on a test vector T
predict_proba(T) This function does classification or regression on a test vector T
__init__(kernel='rbf', degree=3, gamma=0.0, coef0=0.0, cache_size=100.0, eps=0.001, nu=0.5, shrinking=True)
decision_function(T)

Calculate the distance of the samples T to the separating hyperplane.

Parameters :

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

Returns :

T : 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, class_weight={}, sample_weight=[], **params)

Detects the soft boundary of the set of samples X.

Parameters :

X : array-like, 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.

predict(X)

This function does classification or regression on an array of test vectors 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, shape = [n_samples, n_features]
Returns :C : array, shape = [n_samples]
predict_log_proba(T)

This function does classification or regression on a test vector T given a model with probability information.

Parameters :

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

Returns :

T : 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(T)

This function does classification or regression on a test vector T given a model with probability information.

Parameters :

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

Returns :

T : 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.