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:

bigframes.dataframe.DataFrame

property rating_col: str#

The rating column name. Defaults to ‘rating’.

Type:

str

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:
Returns:

DataFrame that represents model metrics.

Return type:

bigframes.dataframe.DataFrame

to_gbq(model_name: str, replace: bool = False) MatrixFactorization[source]#

Save the model to BigQuery.

Parameters:
  • model_name (str) – The name of the model.

  • replace (bool, default False) – Determine whether to replace if the model already exists. Default to False.

Returns:

Saved model.

Return type:

MatrixFactorization