class lightning.regression.SDCARegressor(alpha=1.0, l1_ratio=0, loss='squared', max_iter=100, tol=0.001, callback=None, n_calls=None, verbose=0, random_state=None)[source]

Estimator for learning linear regressors by (proximal) SDCA.

Solves the following objective:

minimize_w  1 / n_samples * \sum_i loss(w^T x_i, y_i)
            + alpha * l1_ratio * ||w||_1
            + alpha * (1 - l1_ratio) * 0.5 * ||w||^2_2
  • loss (string, {'squared', 'absolute'}) – Loss function to use in the model.

  • alpha (float) – Amount of regularization (see model formulation above).

  • l1_ratio (float) – Ratio between the L1 and L2 regularization (see model formulation above).

  • tol (float) – stopping criterion tolerance.

  • max_iter (int) – maximum number of outer iterations (also known as epochs).

  • verbose (int) – verbosity level. Set positive to print progress information.

  • callback (callable or None) – if given, callback(self) will be called on each outer iteration (epoch).

  • random_state (int or RandomState) – Pseudo-random number generator state used for random sampling.

fit(X, y)[source]

Get parameters for this estimator.


deep (bool, default=True) – If True, will return the parameters for this estimator and contained subobjects that are estimators.


params – Parameter names mapped to their values.

Return type


score(X, y, sample_weight=None)

Return the coefficient of determination of the prediction.

The coefficient of determination \(R^2\) is defined as \((1 - \frac{u}{v})\), where \(u\) is the residual sum of squares ((y_true - y_pred)** 2).sum() and \(v\) is the total sum of squares ((y_true - y_true.mean()) ** 2).sum(). The best possible score is 1.0 and it can be negative (because the model can be arbitrarily worse). A constant model that always predicts the expected value of y, disregarding the input features, would get a \(R^2\) score of 0.0.

  • X (array-like of shape (n_samples, n_features)) – Test samples. For some estimators this may be a precomputed kernel matrix or a list of generic objects instead with shape (n_samples, n_samples_fitted), where n_samples_fitted is the number of samples used in the fitting for the estimator.

  • y (array-like of shape (n_samples,) or (n_samples, n_outputs)) – True values for X.

  • sample_weight (array-like of shape (n_samples,), default=None) – Sample weights.


score\(R^2\) of self.predict(X) wrt. y.

Return type



The \(R^2\) score used when calling score on a regressor uses multioutput='uniform_average' from version 0.23 to keep consistent with default value of r2_score(). This influences the score method of all the multioutput regressors (except for MultiOutputRegressor).


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.


**params (dict) – Estimator parameters.


self – Estimator instance.

Return type

estimator instance