lightning.regression.SAGRegressor¶
- class lightning.regression.SAGRegressor(eta='auto', alpha=1.0, beta=0.0, loss='smooth_hinge', penalty=None, gamma=1.0, max_iter=10, n_inner=1.0, tol=0.001, verbose=0, callback=None, random_state=None)[source]¶
Estimator for learning linear regressors by SAG.
Solves the following objective:
minimize_w 1 / n_samples * \sum_i loss(w^T x_i, y_i) + alpha * 0.5 * ||w||^2_2
- Parameters
eta (float or {'auto', 'line-search'}, defaults to 'auto') – step size for the gradient updates. If set to ‘auto’, this will calculate a step size based on the input data. If set to ‘line-search’, it will perform a line-search to find the step size based for the current iteration.
alpha (float) – amount of squared L2 regularization.
beta (float) – amount of regularization for the penalty term.
loss (string) – loss to use in the objective function. Can be “modified_huber” or “squared”.
max_iter (int) – maximum number of outer iterations (also known as epochs).
tol (float) – stopping criterion tolerance.
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, sample_weight=None)[source]¶
- Parameters
X (numpy array, sparse matrix or RowDataset of size (n_samples, n_features)) –
y (numpy array of size (n_samples,)) –
sample_weight (numpy array of size (n_samples,), optional) –
- Return type
self
- 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 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.- 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)
, wheren_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 usesmultioutput='uniform_average'
from version 0.23 to keep consistent with default value ofr2_score()
. This influences thescore
method of all the multioutput regressors (except forMultiOutputRegressor
).
- 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