基本算法

这些是基本的算法,它们没有做太多工作,但对于比较准确度仍然很有用。

class surprise.prediction_algorithms.random_pred.NormalPredictor[source]

基类: AlgoBase

根据训练集的分布(假定为正态分布)预测随机评分的算法。

预测值 \(\hat{r}_{ui}\) 从正态分布 \(\mathcal{N}(\hat{\mu}, \hat{\sigma}^2)\) 中生成,其中 \(\hat{\mu}\)\(\hat{\sigma}\) 使用最大似然估计从训练数据中估计得出

\[\begin{split}\hat{\mu} &= \frac{1}{|R_{train}|} \sum_{r_{ui} \in R_{train}} r_{ui}\\\\ \hat{\sigma} &= \sqrt{\sum_{r_{ui} \in R_{train}} \frac{(r_{ui} - \hat{\mu})^2}{|R_{train}|}}\end{split}\]
class surprise.prediction_algorithms.baseline_only.BaselineOnly(bsl_options={}, verbose=True)[source]

基类: AlgoBase

为给定用户和项目预测基准估计值的算法。

\(\hat{r}_{ui} = b_{ui} = \mu + b_u + b_i\)

如果用户 \(u\) 未知,则偏差 \(b_u\) 被假定为零。对于项目 \(i\) ,同样适用。

详情请参阅 [Kor10] 的 2.1 节。

参数:
  • bsl_options (字典) – 用于计算基准估计值的选项字典。参阅 基准估计值配置 了解接受的选项。

  • verbose (布尔值) – 是否打印偏差估计、相似度等的跟踪消息。默认为 True。