This page

scikits.learn.svm.sparse.LinearSVC

class scikits.learn.svm.sparse.LinearSVC(penalty='l2', loss='l2', dual=True, tol=0.0001, C=1.0, multi_class=False, fit_intercept=True, intercept_scaling=1)

Linear Support Vector Classification, Sparse Version

Similar to SVC with parameter kernel=’linear’, but uses internally liblinear rather than libsvm, so it has more flexibility in the choice of penalties and loss functions and should be faster for huge datasets.

Parameters :

loss : string, ‘l1’ or ‘l2’ (default ‘l2’)

Specifies the loss function. With ‘l1’ it is the standard SVM loss (a.k.a. hinge Loss) while with ‘l2’ it is the squared loss. (a.k.a. squared hinge Loss)

penalty : string, ‘l1’ or ‘l2’ (default ‘l2’)

Specifies the norm used in the penalization. The ‘l2’ penalty is the standard used in SVC. The ‘l1’ leads to coef_ vectors that are sparse.

dual : bool, (default True)

Select the algorithm to either solve the dual or primal optimization problem.

intercept_scaling : float, default: 1

when self.fit_intercept is True, instance vector x becomes [x, self.intercept_scaling], i.e. a “synthetic” feature with constant value equals to intercept_scaling is appended to the instance vector. The intercept becomes intercept_scaling * synthetic feature weight Note! the synthetic feature weight is subject to l1/l2 regularization as all other features. To lessen the effect of regularization on synthetic feature weight (and therefore on the intercept) intercept_scaling has to be increased

See also

SVC

Notes

The underlying C implementation uses a random number generator to select features when fitting the model. It is thus not uncommon, to have slightly different results for the same input data. If that happens, try with a smaller eps parameter.

References

LIBLINEAR – A Library for Large Linear Classification http://www.csie.ntu.edu.tw/~cjlin/liblinear/

Attributes

coef_ array, shape = [n_features] if n_classes == 2 else [n_classes, n_features] Wiehgiths asigned to the features (coefficients in the primal problem). This is only available in the case of linear kernel.
intercept_ array, shape = [1] if n_classes == 2 else [n_classes] constants in decision function

Methods

__init__(penalty='l2', loss='l2', dual=True, tol=0.0001, C=1.0, multi_class=False, fit_intercept=True, intercept_scaling=1)
decision_function(X)

Return the decision function of X according to the trained model.

Parameters :

X : sparse matrix, shape = [n_samples, n_features]

Returns :

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

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

fit(X, y, class_weight={}, **params)

Fit the model using X, y as training data.

Parameters :

X : sparse matrix, shape = [n_samples, n_features]

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

y : array, shape = [n_samples]

Target vector relative to X

Returns :

self : object

Returns an instance of self.

predict(X)

Predict target values of X according to the fitted model.

Parameters :X : sparse matrix, shape = [n_samples, n_features]
Returns :C : array, shape = [n_samples]
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