Contents

6.1.1. scikits.learn.svm.SVC

class scikits.learn.svm.SVC(C=1.0, kernel='rbf', degree=3, gamma=0.0, coef0=0.0, shrinking=True, probability=False, eps=0.001, cache_size=100.0)

C-Support Vector Classification.

Parameters :

C : float, optional (default=1.0)

penalty parameter C of the error term.

kernel : string, optional

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

degree : int, optional

degree of kernel function is 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.

probability: boolean, optional (False by default) :

enable probability estimates. This must be enabled prior to calling prob_predict.

shrinking: boolean, optional :

wether to use the shrinking heuristic.

eps: float, optional :

precision for stopping criteria

cache_size: float, optional :

specify the size of the cache (in MB)

See also

SVR, LinearSVC

Examples

>>> import numpy as np
>>> X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]])
>>> y = np.array([1, 1, 2, 2])
>>> from scikits.learn.svm import SVC
>>> clf = SVC()
>>> clf.fit(X, y)
SVC(kernel='rbf', C=1.0, probability=False, degree=3, coef0=0.0, eps=0.001,
  cache_size=100.0, shrinking=True, gamma=0.25)
>>> print clf.predict([[-0.8, -1]])
[ 1.]

Attributes

support_ array-like, shape = [n_SV] Index of support vectors.
support_vectors_ array-like, shape = [n_SV, n_features] Support vectors.
n_support_ array-like, dtype=int32, shape = [n_class] number of support vector for each class.
dual_coef_ array, shape = [n_class-1, n_SV] Coefficients of the support vector in the decision function.
coef_ array, shape = [n_class-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_class * (n_class-1) / 2] Constants in decision function.

Methods

decision_function
fit
predict
predict_log_proba
predict_proba
score
__init__(C=1.0, kernel='rbf', degree=3, gamma=0.0, coef0=0.0, shrinking=True, probability=False, eps=0.001, cache_size=100.0)
decision_function(T)

Calculate the distance of the samples in 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, y, class_weight={}, sample_weight=[], **params)

Fit the SVM model according to the given training data and parameters.

Parameters :

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

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

y : array-like, shape = [n_samples]

Target values (integers in classification, real numbers in regression)

class_weight : dict | ‘auto’, optional

Weights associated with classes in the form {class_label : weight}. If not given, all classes are supposed to have weight one.

The ‘auto’ mode uses the values of y to automatically adjust weights inversely proportional to class frequencies.

sample_weight : array-like, shape = [n_samples], optional

Weights applied to individual samples (1. for unweighted).

Returns :

self : object

Returns self.

predict(T)

This function does classification or regression on an array of test vectors T.

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

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

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

score(X, y)

Returns the mean error rate on the given test data and labels.

Parameters :

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

Training set.

y : array-like, shape = [n_samples]

Labels for X.

Returns :

z : float