Surprise 是Python下的一个推荐算法实现的库,Python首选。
Surprise支持常见的推荐算法:
- 基础算法(baseline algorithm)
- 协同过滤算法(基于近邻算法)
- 矩阵分解算法 matrix factorization-based(SVD PMF SVD++ NMF)
算法 | 描述 |
---|---|
random.NormalPredictor() | 基于统计的推荐系统预测打分,假定用户打分的分布是基于正态分布的 |
BaselineOnly | 基于统计的基准预测线打分 |
knns.KNNBasic | 基本的协同过滤算法 |
knns.KNNWithMeans | 协同过滤算法的变种,考虑每个用户的平均评分 |
knns.KNNWithZScore | 协同过滤算法的变种,考虑每个用户评分的归一化操作 |
knns.KNNBaseline | 协同过滤算法的变种,考虑每个用户评分的基线 |
matrix_factorzation.SVD | SVD 矩阵分解算法 |
matrix_factorzation.SVDpp | SVD++ 矩阵分解算法 |
matrix_factorzation.NMF | 一种非负矩阵分解的协同过滤算法 |
SlopeOne | SlopeOne 协同过滤算法 |
相似度度量指标 | 描述 |
---|---|
cosine | 计算所有用户或者物品之间的余弦相似度 |
msd | 计算所有用户或者物品之间的平均平方差相似度 |
基于统计的推荐算法
Normal Perdictor 认为用户对物品的评分是服从正态分布的,从而可以根据已有的评分的均值和方差 预测当前用户对其他物品评分的分数。
基于大数定理或者使用最大似然估计
网友评论