Skip to content

SurpriseWrapper

A wrapper to provide compatibility with surprise.

Parameters

  • river_recommender (river.reco.base.Recommender)

Methods

compute_baselines

Compute users and items baselines.

The way baselines are computed depends on the bsl_options parameter passed at the creation of the algorithm (see :ref:baseline_estimates_configuration). This method is only relevant for algorithms using :func:Pearson baseline similarty<surprise.similarities.pearson_baseline> or the :class:BaselineOnly <surprise.prediction_algorithms.baseline_only.BaselineOnly> algorithm. Returns: A tuple (bu, bi), which are users and items baselines.

compute_similarities

Build the similarity matrix.

The way the similarity matrix is computed depends on the sim_options parameter passed at the creation of the algorithm (see :ref:similarity_measures_configuration). This method is only relevant for algorithms using a similarity measure, such as the :ref:k-NN algorithms <pred_package_knn_inpired>. Returns: The similarity matrix.

default_prediction

Used when the PredictionImpossible exception is raised during a call to :meth:predict() <surprise.prediction_algorithms.algo_base.AlgoBase.predict>. By default, return the global mean of all ratings (can be overridden in child classes).

Returns: (float): The mean of all ratings in the trainset.

estimate
fit

Train an algorithm on a given training set.

This method is called by every derived class as the first basic step for training an algorithm. It basically just initializes some internal structures and set the self.trainset attribute. Args: trainset(:obj:Trainset <surprise.Trainset>) : A training set, as returned by the :meth:folds <surprise.dataset.Dataset.folds> method. Returns: self

Parameters

  • trainset
get_neighbors

Return the k nearest neighbors of iid, which is the inner id of a user or an item, depending on the user_based field of sim_options (see :ref:similarity_measures_configuration).

As the similarities are computed on the basis of a similarity measure, this method is only relevant for algorithms using a similarity measure, such as the :ref:k-NN algorithms <pred_package_knn_inpired>. For a usage example, see the :ref:FAQ <get_k_nearest_neighbors>. Args: iid(int): The (inner) id of the user (or item) for which we want the nearest neighbors. See :ref:this note<raw_inner_note>. k(int): The number of neighbors to retrieve. Returns: The list of the k (inner) ids of the closest users (or items) to iid.

Parameters

  • iid
  • k
predict

Compute the rating prediction for given user and item.

The predict method converts raw ids to inner ids and then calls the estimate method which is defined in every derived class. If the prediction is impossible (e.g. because the user and/or the item is unknown), the prediction is set according to :meth:default_prediction() <surprise.prediction_algorithms.algo_base.AlgoBase.default_prediction>. Args: uid: (Raw) id of the user. See :ref:this note<raw_inner_note>. iid: (Raw) id of the item. See :ref:this note<raw_inner_note>. r_ui(float): The true rating :math:r_{ui}. Optional, default is None. clip(bool): Whether to clip the estimation into the rating scale. For example, if :math:\hat{r}_{ui} is :math:5.5 while the rating scale is :math:[1, 5], then :math:\hat{r}_{ui} is set to :math:5. Same goes if :math:\hat{r}_{ui} < 1. Default is True. verbose(bool): Whether to print details of the prediction. Default is False. Returns: A :obj:Prediction <surprise.prediction_algorithms.predictions.Prediction> object containing: - The (raw) user id uid. - The (raw) item id iid. - The true rating r_ui (:math:r_{ui}). - The estimated rating (:math:\hat{r}_{ui}). - Some additional details about the prediction that might be useful for later analysis.

Parameters

  • uid
  • iid
  • r_ui – defaults to None
  • clip – defaults to True
  • verbose – defaults to False
test

Test the algorithm on given testset, i.e. estimate all the ratings in the given testset.

Args: testset: A test set, as returned by a :ref:cross-validation itertor<use_cross_validation_iterators> or by the :meth:build_testset() <surprise.Trainset.build_testset> method. verbose(bool): Whether to print details for each predictions. Default is False. Returns: A list of :class:Prediction <surprise.prediction_algorithms.predictions.Prediction> objects that contains all the estimated ratings.

Parameters

  • testset
  • verbose – defaults to False