Slope One¶

class surprise.prediction_algorithms.slope_one.SlopeOne

A simple yet accurate collaborative filtering algorithm.

This is a straighforward implementation of the SlopeOne algorithm [LM07].

The prediction $$\hat{r}_{ui}$$ is set as:

$\hat{r}_{ui} = \mu_u + \frac{1}{ |R_i(u)|} \sum\limits_{j \in R_i(u)} \text{dev}(i, j),$

where $$R_i(u)$$ is the set of relevents items, i.e. the set of items $$j$$ rated by $$u$$ that also have at least one common user with $$i$$. $$\text{dev}_(i, j)$$ is defined as the average difference between the ratings of $$i$$ and those of $$j$$:

$\text{dev}(i, j) = \frac{1}{ |U_{ij}|}\sum\limits_{u \in U_{ij}} r_{ui} - r_{uj}$