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

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

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

类名:SpearmanCorrelationSimilarity

名称:斯皮尔曼相关系数(Spearman Correlation)
sp
原理:它利用单调方程评价两个统计变量的相关性。 如果数据中没有重复值, 并且当两个变量完全单调相关时,斯皮尔曼相关系数则为 +1 或 −1 。

范围:{-1.0,1.0},当一致时为1.0,不一致时为-1.0。

说明:计算非常慢,有大量排序。针对推荐系统中的数据集来讲,用Spearman 相关系数作为相似度量是不合适的。

Java例子:

DataModel model = new FileDataModel(new File("e:\\recommend\\test.txt"));//文件名一定要是绝对路径  
 
		final UserSimilarity simi=new SpearmanCorrelationSimilarity(model);
		UserNeighborhood neighborhood = new NearestNUserNeighborhood(2,
				simi, model);
		Recommender recommender = new GenericUserBasedRecommender(model,
				neighborhood, similarity);
		List<RecommendedItem> recommendations = recommender.recommend(1, 1);//为用户1推荐两个ItemID  
		for (RecommendedItem recommendation : recommendations) {
			System.out.println(recommendation);
		}

参考文章:斯皮尔曼等级相关系数

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

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

发表评论