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

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

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

类名:CityBlockSimilarity

名称:曼哈顿距离

原理:曼哈顿距离的实现,用于多维数据空间距离的测度。由十九世纪的赫尔曼·闵可夫斯基所创词汇 ,是种使用在几何度量空间的几何学用语,用以标明两个点上在标准坐标系上的绝对轴距总和。
man
原理图:
man-tu
范围:[0,1],同欧式距离一致,值越小,说明距离值越大,相似度越大。

说明:比欧式距离计算量少,性能相对高。

Java例子:

final DataModel dm = new FileDataModel(new File("e:\\recommend\\item.txt"));//文件名一定要是绝对路径  
 
final ItemSimilarity similarity = new CityBlockSimilarity(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-7.html | IT技术精华网

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

发表评论