bigframes.ml.decomposition.MatrixFactorization#
- class bigframes.ml.decomposition.MatrixFactorization(*, feedback_type: Literal['explicit', 'implicit'] = 'explicit', num_factors: int, user_col: str, item_col: str, rating_col: str = 'rating', l2_reg: float = 1.0)[source]#
Matrix Factorization (MF).
Examples:
>>> import bigframes.pandas as bpd >>> from bigframes.ml.decomposition import MatrixFactorization >>> X = bpd.DataFrame({ ... "row": [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6], ... "column": [0,1] * 7, ... "value": [1, 1, 2, 1, 3, 1.2, 4, 1, 5, 0.8, 6, 1, 2, 3], ... }) >>> model = MatrixFactorization(feedback_type='explicit', num_factors=6, user_col='row', item_col='column', rating_col='value', l2_reg=2.06) >>> W = model.fit(X)
- Parameters:
feedback_type ('explicit' | 'implicit') – Specifies the feedback type for the model. The feedback type determines the algorithm that is used during training.
num_factors (int or auto, default auto) – Specifies the number of latent factors to use.
user_col (str) – The user column name.
item_col (str) – The item column name.
l2_reg (float, default 1.0) – A floating point value for L2 regularization. The default value is 1.0.
- predict(X: DataFrame | Series | DataFrame | Series) DataFrame[source]#
Generate a predicted rating for every user-item row combination for a matrix factorization model.
- Parameters:
X (bigframes.dataframe.DataFrame or bigframes.series.Series or pandas.core.frame.DataFrame or pandas.core.series.Series) – Series or a DataFrame to predict.
- Returns:
Predicted DataFrames.
- Return type:
- score(X=None, y=None) DataFrame[source]#
Calculate evaluation metrics of the model.
Note
Output matches that of the BigQuery ML.EVALUATE function. See: https://cloud.google.com/bigquery/docs/reference/standard-sql/bigqueryml-syntax-evaluate#matrix_factorization_models for the outputs relevant to this model type.
- Parameters:
X (bigframes.dataframe.DataFrame | bigframes.series.Series | None) – DataFrame of shape (n_samples, n_features). Test samples.
y (bigframes.dataframe.DataFrame | bigframes.series.Series | None) – DataFrame of shape (n_samples,) or (n_samples, n_outputs). True labels for X.
- Returns:
DataFrame that represents model metrics.
- Return type:
- to_gbq(model_name: str, replace: bool = False) MatrixFactorization[source]#
Save the model to BigQuery.
- Parameters:
- Returns:
Saved model.
- Return type: