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
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