lightning.regression.SDCARegressor

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
Parameters
  • 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_params(deep=True)

Get parameters for this estimator.

Parameters

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

Returns

params – Parameter names mapped to their values.

Return type

dict

n_nonzero(percentage=False)
predict(X)
score(X, y, sample_weight=None)

Return the coefficient of determination \(R^2\) of the prediction.

The coefficient \(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.

Parameters
  • 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.

Returns

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

Return type

float

Notes

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_params(**params)

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

**params (dict) – Estimator parameters.

Returns

self – Estimator instance.

Return type

estimator instance