8.14.1.13. sklearn.linear_model.LogisticRegression¶
- class sklearn.linear_model.LogisticRegression(penalty='l2', dual=False, tol=0.0001, C=1.0, fit_intercept=True, intercept_scaling=1, scale_C=False)¶
Logistic Regression classifier.
In the multiclass case, the training algorithm uses a one-vs.-all (OvA) scheme, rather than the “true” multinomial LR (aka maximum entropy/MaxEnt). This class implements L1 and L2 regularized logistic regression using the liblinear library.
Parameters : penalty : string, ‘l1’ or ‘l2’
Used to specify the norm used in the penalization
dual : boolean
Dual or primal formulation. Dual formulation is only implemented for l2 penalty. Prefer dual=False when n_samples > n_features.
C : float
Specifies the strength of the regularization. The smaller it is the bigger in the regularization.
fit_intercept : bool, default: True
Specifies if a constant (a.k.a. bias or intercept) should be added the decision function
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
tol: float, optional :
tolerance for stopping criteria
scale_C : bool
Scale C with number of samples. It makes the setting of C independant of the number of samples.
See also
LinearSVC
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 http://www.csie.ntu.edu.tw/~cjlin/liblinear/
Attributes
coef_ array, shape = [n_classes-1, n_features] Coefficient of the features in the decision function.
coef_ is readonly property derived from raw_coef_ that follows the internal memory layout of liblinear.
intercept_ array, shape = [n_classes-1] intercept (a.k.a. bias) added to the decision function. It is available only when parameter intercept is set to True 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. predict_log_proba(X) Log of Probability estimates. predict_proba(X) Probability estimates. 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', dual=False, tol=0.0001, C=1.0, 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]
- predict_log_proba(X)¶
Log of Probability estimates.
The returned estimates for all classes are ordered by the label of classes.
Parameters : X : 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.
- predict_proba(X)¶
Probability estimates.
The returned estimates for all classes are ordered by the label of classes.
Parameters : X : 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.
- 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 :