8.24.1.2. sklearn.svm.LinearSVC¶
- class sklearn.svm.LinearSVC(penalty='l2', loss='l2', dual=True, tol=0.0001, C=1.0, multi_class=False, fit_intercept=True, intercept_scaling=1, scale_C=False)¶
Linear Support Vector Classification.
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 : C : float, optional (default=1.0)
Penalty parameter C of the error term.
loss : string, ‘l1’ or ‘l2’ (default=’l2’)
Specifies the loss function. ‘l1’ is the hinge loss (standard SVM) while ‘l2’ is the 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. Prefer dual=False when n_samples > n_features.
tol: float, optional (default=1e-4) :
Tolerance for stopping criteria
multi_class: boolean, optional (default=False) :
Perform multi-class SVM as per Cramer and Singer. If active, the options loss, penalty and dual will be ignored.
fit_intercept : boolean, optional (default=True)
Whether to calculate the intercept for this model. If set to false, no intercept will be used in calculations (e.g. data is expected to be already centered).
intercept_scaling : float, optional (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
scale_C : bool
Scale C with number of samples. It makes the setting of C independent of the number of samples.
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 tol parameter.
References: LIBLINEAR: A Library for Large Linear Classification
Attributes
coef_ array, shape = [n_features] if n_classes == 2 else [n_classes, n_features] Weights asigned to the features (coefficients in the primal problem). This is only available in the case of linear kernel.
coef_ is readonly property derived from raw_coef_ that follows the internal memory layout of liblinear.
intercept_ array, shape = [1] if n_classes == 2 else [n_classes] Constants in decision function. Methods
decision_function(X) Decision function value for X according to the trained model. fit(X, y[, class_weight]) Fit the model according to the given training data. fit_transform(X[, y]) Fit to data, then transform it predict(X) Predict target values of X according to the fitted model. score(X, y) Returns the mean accuracy on the given test data and labels. set_params(**params) Set the parameters of the estimator. transform(X[, threshold]) - __init__(penalty='l2', loss='l2', dual=True, tol=0.0001, C=1.0, multi_class=False, fit_intercept=True, intercept_scaling=1, scale_C=False)¶
- decision_function(X)¶
Decision function value for X according to the trained model.
Parameters : X : array-like, 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=None)¶
Fit the model according to the given training data.
Parameters : X : array-like, 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-like, shape = [n_samples]
Target vector relative to X
class_weight : {dict, ‘auto’}, optional
Weights associated with classes. If not given, all classes are supposed to have weight one.
Returns : self : object
Returns self.
- fit_transform(X, y=None, **fit_params)¶
Fit to data, then transform it
Fits transformer to X and y with optional parameters fit_params and returns a transformed version of X.
Parameters : X : numpy array of shape [n_samples, n_features]
Training set.
y : numpy array of shape [n_samples]
Target values.
Returns : X_new : numpy array of shape [n_samples, n_features_new]
Transformed array.
Notes
This method just calls fit and transform consecutively, i.e., it is not an optimized implementation of fit_transform, unlike other transformers such as PCA.
- predict(X)¶
Predict target values of X according to the fitted model.
Parameters : X : array-like, shape = [n_samples, n_features] Returns : C : array, shape = [n_samples]
- score(X, y)¶
Returns the mean accuracy 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
- set_params(**params)¶
Set the parameters of the estimator.
The method works on simple estimators as well as on nested objects (such as pipelines). The former have parameters of the form <component>__<parameter> so that it’s possible to update each component of a nested object.
Returns : self :