`
小网客
  • 浏览: 1218450 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Mahout之Slope-one应用使用

 
阅读更多

环境:

<dependency>  
    <groupId>org.apache.mahout</groupId>  
    <artifactId>mahout-core</artifactId>  
    <version>0.8</version>  
</dependency>  
<dependency>  
    <groupId>org.apache.mahout</groupId>  
    <artifactId>mahout-math</artifactId>  
    <version>0.8</version>  
</dependency>  
<dependency>  
    <groupId>org.apache.mahout</groupId>  
    <artifactId>mahout-integration</artifactId>  
    <version>0.8</version>  
</dependency>  

概述:

Slope One 算法是由 Daniel Lemire 教授在 2005 年提出的一个 Item-Based 推荐算法。基于用户评分矩阵,对某用户推荐其未评分的产品,未评分的产品的评分预测依据其他用户的评分进行计算,最简单的计算方式如下:

  item1 item2 item3
user1 5 3 3
user2 4 3 5
user3 4 ? 3

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());
	}
}

 

  • cf.rar (120 Bytes)
  • 下载次数: 8
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics