JAVA推荐系统
文章末附带项目源码地址
系统原理
该系统使用java编写的基于用户的协同过滤算法(UserCF) 利用统计学的相关系数经常皮尔森(pearson)相关系数计算相关系数来实现千人千面的推荐系统。
协同过滤推荐算法是诞生最早,并且较为著名的推荐算法。主要的功能是预测和推荐。算法通过对用户历史行为数据的挖掘发现用户的偏好,基于不同的偏好对用户进行群组划分并推荐品味相似的商品。协同过滤推荐算法分为两类,分别是基于用户的协同过滤算法(user-based collaboratIve filtering),和基于物品的协同过滤算法(item-based collaborative filtering)。简单的说就是:人以类聚,物以群分。
皮尔森(pearson)相关系数公式
皮尔逊相关系数(Pearson correlation coefficient)是一种衡量两个连续变量之间线性相关程度的统计指标。它的取值范围在-1到1之间,可以用来描述两个变量之间的相关性强弱以及方向。
r = (Σ((X - X̄) * (Y - Ȳ))) / (√(Σ(X - X̄)²) * √(Σ(Y - Ȳ)²))
公式定义为: 两个连续变量(X,Y)的pearson相关性系数(Px,y)等于