Contents

6.1.3. scikits.learn.svm.NuSVC

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

Nu-Support Vector Classification.

Parameters :

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.

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.

probability: boolean, optional (False by default) :

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

coef0 : float, optional

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

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

SVC, LinearSVC, SVR

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 NuSVC
>>> clf = NuSVC()
>>> clf.fit(X, y)
NuSVC(kernel='rbf', probability=False, degree=3, coef0=0.0, eps=0.001,
   cache_size=100.0, shrinking=True, nu=0.5, 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_classes-1, n_SV] Coefficients 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_class * (n_class-1) / 2] Constants in decision function.

Methods

fit(X, y) self Fit the model
predict(X) array Predict using the model.
predict_proba(X) array Return probability estimates.
predict_log_proba(X) array Return log-probability estimates.
decision_function(X) array Return distance to predicted margin.
__init__(nu=0.5, 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