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}\]