RsItemCF#

class libreco.algorithms.RsItemCF(task, data_info, k_sim=20, num_threads=1, min_common=1, mode='invert', seed=42, lower_upper_bound=None)[source]#

Bases: RsCfBase

Item Collaborative Filtering algorithm implemented in Rust.

Parameters:
  • task ({'rating', 'ranking'}) – Recommendation task. See Task.

  • data_info (DataInfo object) – Object that contains useful information for training and inference.

  • k_sim (int, default: 20) – Number of similar items to use.

  • num_threads (int, default: 1) – Number of threads to use.

  • min_common (int, default: 1) – Number of minimum common items to consider when computing similarities.

  • mode ({'forward', 'invert'}, default: 'invert') – Whether to use forward index or invert index.

  • seed (int, default: 42) – Random seed.

  • lower_upper_bound (tuple or None, default: None) – Lower and upper score bound for rating task.

fit(train_data, neg_sampling, verbose=1, eval_data=None, metrics=None, k=10, eval_batch_size=8192, eval_user_num=None)#

Fit model on the training data.

Parameters:
  • train_data (TransformedSet object) – Data object used for training.

  • neg_sampling (bool) – Whether to perform negative sampling for training or evaluating data.

classmethod load(path, model_name, data_info, **kwargs)#

Load saved model for inference.

Parameters:
  • path (str) – File folder path to save model.

  • model_name (str) – Name of the saved model file.

  • data_info (DataInfo object) – Object that contains some useful information.

Returns:

model – Loaded model.

Return type:

type(cls)

See also

save

predict(user, item, cold_start='popular', inner_id=False)#

Predict score for given user and item.

Parameters:
  • user (int or str or array_like) – User id or batch of user ids.

  • item (int or str or array_like) – Item id or batch of item ids.

Returns:

prediction – Predicted scores for each user-item pair.

Return type:

float or numpy.ndarray

rebuild_model(path, model_name)#

Assign the saved model variables to the newly initialized model.

This method is used before retraining the new model, in order to avoid training from scratch every time we get some new data.

Parameters:
  • path (str) – File folder path for the saved model variables.

  • model_name (str) – Name of the saved model file.

recommend_user(user, n_rec, cold_start='popular', inner_id=False, filter_consumed=True, random_rec=False)#

Recommend a list of items for given user.

Parameters:
  • user (int or str or array_like) – User id or batch of user ids to recommend.

  • n_rec (int) – Number of recommendations to return.

Returns:

recommendation – Recommendation result with user ids as keys and array_like recommended items as values.

Return type:

dict of {Union[int, str, array_like] : numpy.ndarray}

save(path, model_name, **kwargs)#

Save model for inference or retraining.

Parameters:
  • path (str) – File folder path to save model.

  • model_name (str) – Name of the saved model file.

See also

load