RidgeClassifier#
- class sklearn.linear_model.RidgeClassifier(alpha=1.0, *, fit_intercept=True, copy_X=True, max_iter=None, tol=0.0001, class_weight=None, solver='auto', positive=False, random_state=None)[source]#
- Classifier using Ridge regression. - This classifier first converts the target values into - {-1, 1}and then treats the problem as a regression task (multi-output regression in the multiclass case).- Read more in the User Guide. - Parameters:
- alphafloat, default=1.0
- Regularization strength; must be a positive float. Regularization improves the conditioning of the problem and reduces the variance of the estimates. Larger values specify stronger regularization. Alpha corresponds to - 1 / (2C)in other linear models such as- LogisticRegressionor- LinearSVC.
- fit_interceptbool, 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). 
- copy_Xbool, default=True
- If True, X will be copied; else, it may be overwritten. 
- max_iterint, default=None
- Maximum number of iterations for conjugate gradient solver. The default value is determined by scipy.sparse.linalg. 
- tolfloat, default=1e-4
- The precision of the solution ( - coef_) is determined by- tolwhich specifies a different convergence criterion for each solver:- ‘svd’: - tolhas no impact.
- ‘cholesky’: - tolhas no impact.
- ‘sparse_cg’: norm of residuals smaller than - tol.
- ‘lsqr’: - tolis set as atol and btol of scipy.sparse.linalg.lsqr, which control the norm of the residual vector in terms of the norms of matrix and coefficients.
- ‘sag’ and ‘saga’: relative change of coef smaller than - tol.
- ‘lbfgs’: maximum of the absolute (projected) gradient=max|residuals| smaller than - tol.
 - Changed in version 1.2: Default value changed from 1e-3 to 1e-4 for consistency with other linear models. 
- class_weightdict or ‘balanced’, default=None
- Weights associated with classes in the form - {class_label: weight}. If not given, all classes are supposed to have weight one.- The “balanced” mode uses the values of y to automatically adjust weights inversely proportional to class frequencies in the input data as - n_samples / (n_classes * np.bincount(y)).
- solver{‘auto’, ‘svd’, ‘cholesky’, ‘lsqr’, ‘sparse_cg’, ‘sag’, ‘saga’, ‘lbfgs’}, default=’auto’
- Solver to use in the computational routines: - ‘auto’ chooses the solver automatically based on the type of data. 
- ‘svd’ uses a Singular Value Decomposition of X to compute the Ridge coefficients. It is the most stable solver, in particular more stable for singular matrices than ‘cholesky’ at the cost of being slower. 
- ‘cholesky’ uses the standard scipy.linalg.solve function to obtain a closed-form solution. 
- ‘sparse_cg’ uses the conjugate gradient solver as found in scipy.sparse.linalg.cg. As an iterative algorithm, this solver is more appropriate than ‘cholesky’ for large-scale data (possibility to set - toland- max_iter).
- ‘lsqr’ uses the dedicated regularized least-squares routine scipy.sparse.linalg.lsqr. It is the fastest and uses an iterative procedure. 
- ‘sag’ uses a Stochastic Average Gradient descent, and ‘saga’ uses its unbiased and more flexible version named SAGA. Both methods use an iterative procedure, and are often faster than other solvers when both n_samples and n_features are large. Note that ‘sag’ and ‘saga’ fast convergence is only guaranteed on features with approximately the same scale. You can preprocess the data with a scaler from sklearn.preprocessing. - Added in version 0.17: Stochastic Average Gradient descent solver. - Added in version 0.19: SAGA solver. 
- ‘lbfgs’ uses L-BFGS-B algorithm implemented in - scipy.optimize.minimize. It can be used only when- positiveis True.
 
- positivebool, default=False
- When set to - True, forces the coefficients to be positive. Only ‘lbfgs’ solver is supported in this case.
- random_stateint, RandomState instance, default=None
- Used when - solver== ‘sag’ or ‘saga’ to shuffle the data. See Glossary for details.
 
- Attributes:
- coef_ndarray of shape (1, n_features) or (n_classes, n_features)
- Coefficient of the features in the decision function. - coef_is of shape (1, n_features) when the given problem is binary.
- intercept_float or ndarray of shape (n_targets,)
- Independent term in decision function. Set to 0.0 if - fit_intercept = False.
- n_iter_None or ndarray of shape (n_targets,)
- Actual number of iterations for each target. Available only for sag and lsqr solvers. Other solvers will return None. 
- classes_ndarray of shape (n_classes,)
- Classes labels. 
- n_features_in_int
- Number of features seen during fit. - Added in version 0.24. 
- feature_names_in_ndarray of shape (n_features_in_,)
- Names of features seen during fit. Defined only when - Xhas feature names that are all strings.- Added in version 1.0. 
- solver_str
- The solver that was used at fit time by the computational routines. - Added in version 1.5. 
 
 - See also - Ridge
- Ridge regression. 
- RidgeClassifierCV
- Ridge classifier with built-in cross validation. 
 - Notes - For multi-class classification, n_class classifiers are trained in a one-versus-all approach. Concretely, this is implemented by taking advantage of the multi-variate response support in Ridge. - Examples - >>> from sklearn.datasets import load_breast_cancer >>> from sklearn.linear_model import RidgeClassifier >>> X, y = load_breast_cancer(return_X_y=True) >>> clf = RidgeClassifier().fit(X, y) >>> clf.score(X, y) 0.9595... - decision_function(X)[source]#
- Predict confidence scores for samples. - The confidence score for a sample is proportional to the signed distance of that sample to the hyperplane. - Parameters:
- X{array-like, sparse matrix} of shape (n_samples, n_features)
- The data matrix for which we want to get the confidence scores. 
 
- Returns:
- scoresndarray of shape (n_samples,) or (n_samples, n_classes)
- Confidence scores per - (n_samples, n_classes)combination. In the binary case, confidence score for- self.classes_[1]where >0 means this class would be predicted.
 
 
 - fit(X, y, sample_weight=None)[source]#
- Fit Ridge classifier model. - Parameters:
- X{ndarray, sparse matrix} of shape (n_samples, n_features)
- Training data. 
- yndarray of shape (n_samples,)
- Target values. 
- sample_weightfloat or ndarray of shape (n_samples,), default=None
- Individual weights for each sample. If given a float, every sample will have the same weight. - Added in version 0.17: sample_weight support to RidgeClassifier. 
 
- Returns:
- selfobject
- Instance of the estimator. 
 
 
 - get_metadata_routing()[source]#
- Get metadata routing of this object. - Please check User Guide on how the routing mechanism works. - Returns:
- routingMetadataRequest
- A - MetadataRequestencapsulating routing information.
 
 
 - get_params(deep=True)[source]#
- Get parameters for this estimator. - Parameters:
- deepbool, default=True
- If True, will return the parameters for this estimator and contained subobjects that are estimators. 
 
- Returns:
- paramsdict
- Parameter names mapped to their values. 
 
 
 - predict(X)[source]#
- Predict class labels for samples in - X.- Parameters:
- X{array-like, spare matrix} of shape (n_samples, n_features)
- The data matrix for which we want to predict the targets. 
 
- Returns:
- y_predndarray of shape (n_samples,) or (n_samples, n_outputs)
- Vector or matrix containing the predictions. In binary and multiclass problems, this is a vector containing - n_samples. In a multilabel problem, it returns a matrix of shape- (n_samples, n_outputs).
 
 
 - score(X, y, sample_weight=None)[source]#
- Return accuracy on provided data and labels. - In multi-label classification, this is the subset accuracy which is a harsh metric since you require for each sample that each label set be correctly predicted. - Parameters:
- Xarray-like of shape (n_samples, n_features)
- Test samples. 
- yarray-like of shape (n_samples,) or (n_samples, n_outputs)
- True labels for - X.
- sample_weightarray-like of shape (n_samples,), default=None
- Sample weights. 
 
- Returns:
- scorefloat
- Mean accuracy of - self.predict(X)w.r.t.- y.
 
 
 - set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') RidgeClassifier[source]#
- Configure whether metadata should be requested to be passed to the - fitmethod.- Note that this method is only relevant when this estimator is used as a sub-estimator within a meta-estimator and metadata routing is enabled with - enable_metadata_routing=True(see- sklearn.set_config). Please check the User Guide on how the routing mechanism works.- The options for each parameter are: - True: metadata is requested, and passed to- fitif provided. The request is ignored if metadata is not provided.
- False: metadata is not requested and the meta-estimator will not pass it to- fit.
- None: metadata is not requested, and the meta-estimator will raise an error if the user provides it.
- str: metadata should be passed to the meta-estimator with this given alias instead of the original name.
 - The default ( - sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others.- Added in version 1.3. - Parameters:
- sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED
- Metadata routing for - sample_weightparameter in- fit.
 
- Returns:
- selfobject
- The updated object. 
 
 
 - set_params(**params)[source]#
- Set the parameters of this estimator. - The method works on simple estimators as well as on nested objects (such as - Pipeline). The latter have parameters of the form- <component>__<parameter>so that it’s possible to update each component of a nested object.- Parameters:
- **paramsdict
- Estimator parameters. 
 
- Returns:
- selfestimator instance
- Estimator instance. 
 
 
 - set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') RidgeClassifier[source]#
- Configure whether metadata should be requested to be passed to the - scoremethod.- Note that this method is only relevant when this estimator is used as a sub-estimator within a meta-estimator and metadata routing is enabled with - enable_metadata_routing=True(see- sklearn.set_config). Please check the User Guide on how the routing mechanism works.- The options for each parameter are: - True: metadata is requested, and passed to- scoreif provided. The request is ignored if metadata is not provided.
- False: metadata is not requested and the meta-estimator will not pass it to- score.
- None: metadata is not requested, and the meta-estimator will raise an error if the user provides it.
- str: metadata should be passed to the meta-estimator with this given alias instead of the original name.
 - The default ( - sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others.- Added in version 1.3. - Parameters:
- sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED
- Metadata routing for - sample_weightparameter in- score.
 
- Returns:
- selfobject
- The updated object. 
 
 
 
Gallery examples#
 
Classification of text documents using sparse features
