环境:
<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>
概述:
基于item的相似,首先基于用户评分矩阵构建item之间的相似矩阵,从而对用户感兴趣的item做相关tiem的推荐。
应用:
private static ItemSimilarity getISInstance(DataModel model, int i) throws Exception { ItemSimilarity instance = null; switch (i) { case 0: instance = new TanimotoCoefficientSimilarity(model); break; case 1: instance = new EuclideanDistanceSimilarity(model); break; case 2: instance = new LogLikelihoodSimilarity(model); break; case 3: instance = new CityBlockSimilarity(model); break; case 4: instance = new UncenteredCosineSimilarity(model); break; } return instance; }
测试:
public static void test(File dataFile) throws Exception { DataModel model = new FileDataModel(dataFile); for (int i = 0; i < 5; i++) { ItemSimilarity itemSimilarity = getISInstance(model, i); ItemBasedRecommender recommender = new GenericItemBasedRecommender( model, itemSimilarity); List<RecommendedItem> recommendations = recommender .mostSimilarItems(107, 1000); for (RecommendedItem recommendation : recommendations) { System.out.println(recommendation.getItemID() + "->" + recommendation.getValue()); } System.out.println("******************"); } }
效果对比:
推荐TanimotoCoefficientSimilarity和EuclideanDistanceSimilarity,使用场景不一样,大家根据效果进行选用
相关推荐
官方下载的mahout-distribution-0.9.tar.gz 因为下载速度实在太慢,所以分享出来,方便大家下载使用。mahout-distribution-0.9.tar.gz
mahout-core-0.9.jar+mahout-core-0.8.jar+mahout-core-0.1.jar
mahout-0.9-cdh5.5.0.tar.gz
mahout0.11版本,源码,可修改源码并自己编译,使用java语言编写,maven编译
mahout-distribution-0.9-src.zip
maven_mahout_template-mahout-0.8
mahout是用来做大数据推荐系统和机器学习使用的框架,这个工具包官网下载非常慢,下载了一夜终于下载到了,刚好够上传的
mahout-core-0.9.jar,支持版本hadoop-2.2.x,由mahout-distribution-0.9.tar.gz源码构建生成jar包。
mahout-integration-0.7mahout-integration-0.7mahout-integration-0.7mahout-integration-0.7
mahout-distribution-0.5-src.zip mahout 源码包
mahout-examples-0.10.1-job.jar 已经包含分词程序,替换掉mahout默认的jar包
mahout实战 源码 mahout实战 配套 mahout-distribution-0.5.tar.gz 版本
mahout-distribution-0.10.0-src.tar.gz
官方mahout-distribution-0.12.2-src.tar.gz
mahout中需要用到的一个版本jar包:mahout-core-0.3.jar
重新编译mahout-examples-0.9-job.jar,增加分类指标:最小最大精度、召回率。详情见http://blog.csdn.net/u012948976/article/details/50203249
mahout-distribution-0.9所含必备jar包,只有jar包,不含源代码。
apache-mahout-distribution-0.12.1.tar.gz 开源版本 .
mahout-math-0.8.jar mahout-math-0.8.jar