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

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

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

类名:TanimotoCoefficientSimilarity
名称:Tanimoto 系数(Tanimoto Coefficient)
tan
原理:Jaccard 系数,又叫做Jaccard相似性系数,用来比较样本集中的相似性和分散性的一个概率。Jaccard系数等于样本集交集与样本集合集的比值

广义Jaccard系数可以用于文档数据,并在二元属性情况下归约为Jaccard系数。广义Jaccard系数又称Tanimoto系数。(有另一种系数也称为Tanimoto系数)。

范围:[0,1],完全重叠时为1,无重叠项时为0,越接近1说明越相似。

说明:处理无打分的偏好数据。

Java例子:

final DataModel dm = new FileDataModel(new File("e:\\recommend\\item.txt"));//文件名一定要是绝对路径  
 
final ItemSimilarity similarity = new TanimotoCoefficientSimilarity(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://en.wikipedia.org/wiki/Jaccard_index

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

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

发表评论