当前位置: 首页 > 推荐系统 > 正文

Mahout中相似度计算类介绍(三)

1 星2 星3 星4 星5 星 (2 次投票, 评分: 5.00, 总分: 5)
Loading ... Loading ...
baidu_share

类名:UncenteredCosineSimilarity

名称:余弦相似性(Cosine Similarity)
Cosine 相似度被广泛应用于计算文档数据的相似度:
cos
原理:通过测量两个向量内积空间的夹角的余弦值来度量它们之间的相似性。

范围:[-1,1],值越大,说明夹角越大,两点相距就越远,相似度就越小。 说明:在数学表达中,如果对两个项的属性进行了数据中心化,计算出来的余弦 相似度和皮尔森相似度是一样的,在mahout中,实现了数据中心化的过程,所以皮尔森相似度值也是数据中心化后的余弦相似度。

Java例子

final DataModel dm = new FileDataModel(new File("e:\\recommend\\item.txt"));//文件名一定要是绝对路径  
 
final ItemSimilarity similarity = new UncenteredCosineSimilarity(dm);
GenericItemBasedRecommender recommender = new GenericItemBasedRecommender(dm,similarity);
	        List<RecommendedItem> recommendations=recommender.mostSimilarItems(329387l, 3);
//329387 为itemID
	        for (RecommendedItem recommendation : recommendations) {
				System.out.println(recommendation.getItemID());
				System.out.println(recommendation.getValue());
		}

参考文章:余弦相似性

本文固定链接: http://www.chepoo.com/mahout-class-similarity-calculation-described-3.html | IT技术精华网

Mahout中相似度计算类介绍(三):等您坐沙发呢!

发表评论