
Slope One 算法是由 Daniel Lemire 教授在 2005 年提出的一个 Item-Based 推荐算法。slope one基于用户评分矩阵,对某用户推荐其未评分的产品,未评分的产品的评分预测依据其他用户的评分进行计算,最简单的计算方式如下:
item1对item2的平均差:((5-3)+(4-3))/2=1.5

item3对item2的平均差:((3-3)+(5-3))/2=1
那么user3对item2的得分:((4-1.5)+(3-1))/2=2.25

Mahout应用:
public static void main(String[] args) throws Exception { File dataFile=new File("d:/cf.txt"); DataModel model = new FileDataModel(dataFile); Recommender oneRecommender=new SlopeOneRecommender(model); List<RecommendedItem> list=oneRecommender.recommend(3, 10); for (RecommendedItem recommendedItem : list) { System.out.println(recommendedItem.getItemID()+"->"+recommendedItem.getValue()); }}
微博:我爱机器学习
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-29634-1.html
可以借此立即宣布南海防空识别区
还有马航是怎么回事
美国就是这个德行