Slope One

class surprise.prediction_algorithms.slope_one.SlopeOne

基类: AlgoBase

一种简单而精确的协同过滤算法。

这是 SlopeOne 算法的一个直接实现 [LM07]

预测值 \(\hat{r}_{ui}\) 的计算方式如下:

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

其中 \(R_i(u)\) 是相关项目的集合,即用户 \(u\) 评分过的项目 \(j\) 的集合,这些项目还与项目 \(i\) 至少有一个共同用户。\(\text{dev}_(i, j)\) 被定义为项目 \(i\) 和项目 \(j\) 评分之间的平均差异

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