Class LinearRegression (0.10.0)

LinearRegression(
    optimize_strategy: typing.Literal[
        "auto_strategy", "batch_gradient_descent", "normal_equation"
    ] = "normal_equation",
    fit_intercept: bool = True,
    l2_reg: float = 0.0,
    max_iterations: int = 20,
    learn_rate_strategy: typing.Literal["line_search", "constant"] = "line_search",
    early_stop: bool = True,
    min_rel_progress: float = 0.01,
    ls_init_learn_rate: float = 0.1,
    calculate_p_values: bool = False,
    enable_global_explain: bool = False,
)

Ordinary least squares Linear Regression.

LinearRegression fits a linear model with coefficients w = (w1, ..., wp) to minimize the residual sum of squares between the observed targets in the dataset, and the targets predicted by the linear approximation.

Parameters

NameDescription
optimize_strategy str, default "normal_equation"

The strategy to train linear regression models. Possible values are "auto_strategy", "batch_gradient_descent", "normal_equation". Default to "normal_equation".

fit_intercept bool, default True

Default True. Whether to calculate the intercept for this model. If set to False, no intercept will be used in calculations (i.e. data is expected to be centered).

l2_reg float, default 0.0

The amount of L2 regularization applied. Default to 0.

max_iterations int, default 20

The maximum number of training iterations or steps. Default to 20.

learn_rate_strategy str, default "line_search"

The strategy for specifying the learning rate during training. Default to "line_search".

early_stop bool, default True

Whether training should stop after the first iteration in which the relative loss improvement is less than the value specified for min_rel_progress. Default to True.

min_rel_progress float, default 0.01

The minimum relative loss improvement that is necessary to continue training when EARLY_STOP is set to true. For example, a value of 0.01 specifies that each iteration must reduce the loss by 1% for training to continue. Default to 0.01.

ls_init_learn_rate float, default 0.1

Sets the initial learning rate that learn_rate_strategy='line_search' uses. This option can only be used if line_search is specified. Default to 0.1.

calculate_p_values bool, default False

Specifies whether to compute p-values and standard errors during training. Default to False.

enable_global_explain bool, default False

Whether to compute global explanations using explainable AI to evaluate global feature importance to the model. Default to False.

Methods

__repr__

__repr__()

Print the estimator's constructor with all non-default parameter values

fit

fit(
    X: typing.Union[bigframes.dataframe.DataFrame, bigframes.series.Series],
    y: typing.Union[bigframes.dataframe.DataFrame, bigframes.series.Series],
) -> bigframes.ml.base._T

Fit linear model.

Parameters
NameDescription
X bigframes.dataframe.DataFrame or bigframes.series.Series

Series or DataFrame of shape (n_samples, n_features). Training data.

y bigframes.dataframe.DataFrame or bigframes.series.Series

Series or DataFrame of shape (n_samples,) or (n_samples, n_targets). Target values. Will be cast to X's dtype if necessary.

Returns
TypeDescription
LinearRegressionFitted Estimator.

get_params

get_params(deep: bool = True) -> typing.Dict[str, typing.Any]

Get parameters for this estimator.

Parameter
NameDescription
deep bool, default True

Default True. If True, will return the parameters for this estimator and contained subobjects that are estimators.

Returns
TypeDescription
DictionaryA dictionary of parameter names mapped to their values.

predict

predict(
    X: typing.Union[bigframes.dataframe.DataFrame, bigframes.series.Series]
) -> bigframes.dataframe.DataFrame

Predict using the linear model.

Parameter
NameDescription
X bigframes.dataframe.DataFrame or bigframes.series.Series

Series or DataFrame of shape (n_samples, n_features). Samples.

Returns
TypeDescription
bigframes.dataframe.DataFrameDataFrame of shape (n_samples,). Returns predicted values.

register

register(vertex_ai_model_id: typing.Optional[str] = None) -> bigframes.ml.base._T

Register the model to Vertex AI.

After register, go to Google Cloud Console (https://console.cloud.google.com/vertex-ai/models) to manage the model registries. Refer to https://cloud.google.com/vertex-ai/docs/model-registry/introduction for more options.

Parameter
NameDescription
vertex_ai_model_id Optional[str], default None

optional string id as model id in Vertex. If not set, will by default to 'bigframes_{bq_model_id}'. Vertex Ai model id will be truncated to 63 characters due to its limitation.

score

score(
    X: typing.Union[bigframes.dataframe.DataFrame, bigframes.series.Series],
    y: typing.Union[bigframes.dataframe.DataFrame, bigframes.series.Series],
) -> bigframes.dataframe.DataFrame

Return the evaluation metrics of the model.

Parameters
NameDescription
X bigframes.dataframe.DataFrame or bigframes.series.Series

Series or DataFrame 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 bigframes.dataframe.DataFrame or bigframes.series.Series

Series or DataFrame of shape (n_samples,) or (n_samples, n_outputs). True values for X.

Returns
TypeDescription
bigframes.dataframe.DataFrameA DataFrame of the evaluation result.

to_gbq

to_gbq(
    model_name: str, replace: bool = False
) -> bigframes.ml.linear_model.LinearRegression

Save the model to BigQuery.

Parameters
NameDescription
model_name str

the name of the model.

replace bool, default False

whether to replace if the model already exists. Default to False.

Returns
TypeDescription
LinearRegressionsaved model.