数据集下载地址:http://grouplens.org/datasets/movielens/ 之前用的是100K的,现在需要下载MovieLens 10M,使用里面的ratings.dat

前提:因为文件不符合mahout要求的文件输入格式,需要进行转换,但是example里提供了一个解析这个文件的类GrouplensDataModel,所以直接用了。

package mahout;import java.io.File;import org.apache.mahout.cf.taste.common.TasteException;
import org.apache.mahout.cf.taste.impl.eval.LoadEvaluator;
import org.apache.mahout.cf.taste.impl.neighborhood.NearestNUserNeighborhood;
import org.apache.mahout.cf.taste.impl.recommender.GenericUserBasedRecommender;
import org.apache.mahout.cf.taste.impl.similarity.PearsonCorrelationSimilarity;
import org.apache.mahout.cf.taste.model.DataModel;
import org.apache.mahout.cf.taste.neighborhood.UserNeighborhood;
import org.apache.mahout.cf.taste.recommender.Recommender;
import org.apache.mahout.cf.taste.similarity.UserSimilarity;
import org.apache.mahout.cf.taste.similarity.precompute.example.GroupLensDataModel;public class GroupLensDataModelTest {public static void main(String[] args) throws Exception {//使用定制的GrouplensDataModel,如果没有转换数据集成为csv格式的DataModel dataModel = new GroupLensDataModel(new File("data/ratings.dat"));//皮尔逊相关系数,衡量用户相似度UserSimilarity userSimilarity = new PearsonCorrelationSimilarity(dataModel);//构建用户邻居,100个UserNeighborhood userNeighborhood = new NearestNUserNeighborhood(100,userSimilarity, dataModel);//推荐引擎Recommender recommender = new GenericUserBasedRecommender(dataModel,userNeighborhood, userSimilarity);//运行LoadEvaluator.runLoad(recommender);}
}

运行试试,如果你的内存足够大的话。

输出结果:

我的文件还没有下载下来呢!!!!!!!!!!

补上:

输出结果:

14/08/05 10:05:13 INFO file.FileDataModel: Creating FileDataModel for file C:\Users\ADMINI~1\AppData\Local\Temp\ratings.txt
14/08/05 10:05:17 INFO file.FileDataModel: Reading file info...
14/08/05 10:05:18 INFO file.FileDataModel: Processed 1000000 lines
14/08/05 10:05:19 INFO file.FileDataModel: Processed 2000000 lines
14/08/05 10:05:20 INFO file.FileDataModel: Processed 3000000 lines
14/08/05 10:05:21 INFO file.FileDataModel: Processed 4000000 lines
14/08/05 10:05:23 INFO file.FileDataModel: Processed 5000000 lines
14/08/05 10:05:24 INFO file.FileDataModel: Processed 6000000 lines
14/08/05 10:05:25 INFO file.FileDataModel: Processed 7000000 lines
14/08/05 10:05:26 INFO file.FileDataModel: Processed 8000000 lines
14/08/05 10:05:27 INFO file.FileDataModel: Processed 9000000 lines
14/08/05 10:05:30 INFO file.FileDataModel: Processed 10000000 lines
14/08/05 10:05:30 INFO file.FileDataModel: Read lines: 10000054
14/08/05 10:05:31 INFO model.GenericDataModel: Processed 10000 users
14/08/05 10:05:31 INFO model.GenericDataModel: Processed 20000 users
14/08/05 10:05:33 INFO model.GenericDataModel: Processed 30000 users
14/08/05 10:05:33 INFO model.GenericDataModel: Processed 40000 users
14/08/05 10:05:34 INFO model.GenericDataModel: Processed 50000 users
14/08/05 10:05:34 INFO model.GenericDataModel: Processed 60000 users
14/08/05 10:05:35 INFO model.GenericDataModel: Processed 69878 users
14/08/05 10:05:39 INFO eval.AbstractDifferenceRecommenderEvaluator: Starting timing of 982 tasks in 4 threads
14/08/05 10:05:39 INFO eval.StatsCallable: Average time per recommendation: 163ms
14/08/05 10:05:39 INFO eval.StatsCallable: Approximate memory used: 445MB / 815MB
14/08/05 10:05:39 INFO eval.StatsCallable: Unable to recommend in 0 cases

没有输出结果:

在代码最后增加这么几行代码测试:

//增加推荐://为用户1推荐10件物品1,10List<RecommendedItem> recommendedItems = recommender.recommend(1, 10);//输出for (RecommendedItem item : recommendedItems) {System.out.println(item);}

查看输出结果:还是没有结果,怪了,后期再搞搞。

14/08/05 10:09:48 INFO file.FileDataModel: Creating FileDataModel for file C:\Users\ADMINI~1\AppData\Local\Temp\ratings.txt
14/08/05 10:09:48 INFO file.FileDataModel: Reading file info...
14/08/05 10:09:49 INFO file.FileDataModel: Processed 1000000 lines
14/08/05 10:09:50 INFO file.FileDataModel: Processed 2000000 lines
14/08/05 10:09:52 INFO file.FileDataModel: Processed 3000000 lines
14/08/05 10:09:52 INFO file.FileDataModel: Processed 4000000 lines
14/08/05 10:09:54 INFO file.FileDataModel: Processed 5000000 lines
14/08/05 10:09:56 INFO file.FileDataModel: Processed 6000000 lines
14/08/05 10:09:56 INFO file.FileDataModel: Processed 7000000 lines
14/08/05 10:09:57 INFO file.FileDataModel: Processed 8000000 lines
14/08/05 10:09:58 INFO file.FileDataModel: Processed 9000000 lines
14/08/05 10:10:00 INFO file.FileDataModel: Processed 10000000 lines
14/08/05 10:10:00 INFO file.FileDataModel: Read lines: 10000054
14/08/05 10:10:01 INFO model.GenericDataModel: Processed 10000 users
14/08/05 10:10:01 INFO model.GenericDataModel: Processed 20000 users
14/08/05 10:10:02 INFO model.GenericDataModel: Processed 30000 users
14/08/05 10:10:02 INFO model.GenericDataModel: Processed 40000 users
14/08/05 10:10:02 INFO model.GenericDataModel: Processed 50000 users
14/08/05 10:10:03 INFO model.GenericDataModel: Processed 60000 users
14/08/05 10:10:06 INFO model.GenericDataModel: Processed 69878 users
14/08/05 10:10:08 INFO eval.AbstractDifferenceRecommenderEvaluator: Starting timing of 985 tasks in 4 threads
14/08/05 10:10:08 INFO eval.StatsCallable: Average time per recommendation: 116ms
14/08/05 10:10:08 INFO eval.StatsCallable: Approximate memory used: 578MB / 795MB
14/08/05 10:10:08 INFO eval.StatsCallable: Unable to recommend in 0 cases

转载于:https://www.cnblogs.com/jsunday/p/3889947.html

mahout推荐10-尝试GroupLens数据集相关推荐

  1. 从源代码剖析Mahout推荐引擎

    Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, ...

  2. Mahout推荐算法API详解

    Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, ...

  3. mahout 推荐算法 java_Mahout推荐算法API详解

    前言 用Mahout来构建推荐系统,是一件既简单又困难的事情.简单是因为Mahout完整地封装了"协同过滤"算法,并实现了并行化,提供非常简单的API接口:困难是因为我们不了解算法 ...

  4. Mahout之——Mahout推荐算法API详解

    前言 用Mahout来构建推荐系统,是一件既简单又困难的事情.简单是因为Mahout完整地封装了"协同过滤"算法,并实现了并行化,提供非常简单的API接口:困难是因为我们不了解算法 ...

  5. mahout 推荐算法 java_推荐系统之推荐算法实战:mahout推荐算法框架

    1.Mahout介绍 1.1概述 根据百度的解说,Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在 ...

  6. 推荐10个免费的HTML编辑器

    推荐10个免费的HTML编辑器 如果你想开发一个网站,你肯定想要一个很棒的HTML编辑器,一个好的编辑器可以让代码更加整齐格式化,前端显示也会更好,从而提升你的工作效率.下面就为开发者推荐10个免费的 ...

  7. 强烈推荐 10 款珍藏的 Chrome 浏览器插件

    Firebug 的年代,我是火狐(Mozilla Firefox)浏览器的死忠:但后来不知道为什么,该插件停止了开发,导致我不得不寻求一个新的网页开发工具.那段时间,不少人开始推荐 Chrome 浏览 ...

  8. python进程管理工具 ci_推荐 10 个好用的 CI/CD 工具

    原标题:推荐 10 个好用的 CI/CD 工具 编辑 | Lisa 虽然云平台的到来让开发者免于安装和维护物理服务器,但测试和部署代码过程依旧需要人为完成,持续集成可以自动消除构建.测试和部署代码的大 ...

  9. 推荐10个超好玩的网站

    推荐10个超好玩的网站,窥探别人的记忆,敲键盘听歌,办公偷懒神器,看中国古今妖怪--一打开就停不下来,一下午都不够玩. 别说了,这篇文章是我两天前就要写的.为什么现在才发出来?罪魁祸首就是下面这10个 ...

最新文章

  1. 计算机专业毕业文案,我们毕业啦!|今天,没有文案
  2. 当singleton Bean依赖propotype Bean,可以使用在配置Bean添加look-method来解决
  3. 导航跳转后保持选中状态 jquery高亮当前选中菜单
  4. html5访问本地资源,HTML5实现一个访问本地文件的实例今
  5. Java 9中的5个功能将改变您开发软件的方式(还有2个不会)
  6. 自言自语(2011.8.1)
  7. Linux 字符设备驱动开发基础(五)—— ioremap() 函数解析
  8. winform教_电脑绝技教你22天学精Csharp之第十五天winform应用程序补充5
  9. Science | 从结构生物学的角度理解人类mRNA剪接体分支位点的识别
  10. 头部互金科技负责人领路知识图谱
  11. [2011诺贝我物理奖]超新星与暗能量的收现
  12. 基于QT的HLW8032电能芯片测试上位机开发
  13. 微信公众账号开发教程(一) 基本原理及微信公众账号注册 ——转自http://www.cnblogs.com/yank/p/3364827.html...
  14. 农村物流配送管理如何走出困境?这里有方案
  15. 魔兽是用Python开发的,一起看看Python开发的知名网站和游戏!
  16. 第三单元 :资本成本笔记
  17. linux环境查看cpu是否开启睿频
  18. php 删除其他盘符,Linux_自动清除电脑垃圾及删除windows默认共享盘符的批处理bat,by:zuifeng258Windows在默认情况下 - phpStudy...
  19. 投资顾问需要什么条件
  20. 万能密码或账号登录语句

热门文章

  1. 使用VS搭建三层结构
  2. TextView图文混排,显示添加的图片,三种常用方法,亲测
  3. Hadoop编程调用HDFS
  4. 动态规划的用法——01背包问题
  5. 吃透Java中的动态代理
  6. IBM----Yacc 与 Lex 快速入门
  7. 汇编语言--adc指令
  8. <X86汇编语言:实模式到保护模式>四十四 协同式任务切换
  9. 汇编:转移目的地址在内存中
  10. mac connect to host localhost port 22: Connection refused