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.

Attributes

rating_col

The rating column name.

Methods

__init__(*[, feedback_type, rating_col, l2_reg])

fit(X[, y])

Fit the model according to the given training data.

get_params([deep])

Get parameters for this estimator.

predict(X)

Generate a predicted rating for every user-item row combination for a matrix factorization model.

register([vertex_ai_model_id])

Register the model to Vertex AI.

score([X, y])

Calculate evaluation metrics of the model.

to_gbq(model_name[, replace])

Save the model to BigQuery.