Swing#

class libreco.algorithms.Swing(task, data_info, top_k=20, alpha=1.0, max_cache_num=100000000, num_threads=1, seed=42)[source]#

Bases: Base

Swing algorithm.

Caution

  • Swing can only be used in ranking task.

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

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

  • top_k (int, default: 20) – Number of items to consider during recommendation.

  • alpha (float, default: 1.0) – Smoothing coefficient.

  • max_cache_num (int, default: 100,000,000) – Maximum cached item number during swing score computing.

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

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

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

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.

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

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

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

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)[source]#

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

classmethod load(path, model_name, data_info, **kwargs)[source]#

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