mahout推荐10-尝试GroupLens数据集
数据集下载地址: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数据集相关推荐
- 从源代码剖析Mahout推荐引擎
Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, ...
- Mahout推荐算法API详解
Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, ...
- mahout 推荐算法 java_Mahout推荐算法API详解
前言 用Mahout来构建推荐系统,是一件既简单又困难的事情.简单是因为Mahout完整地封装了"协同过滤"算法,并实现了并行化,提供非常简单的API接口:困难是因为我们不了解算法 ...
- Mahout之——Mahout推荐算法API详解
前言 用Mahout来构建推荐系统,是一件既简单又困难的事情.简单是因为Mahout完整地封装了"协同过滤"算法,并实现了并行化,提供非常简单的API接口:困难是因为我们不了解算法 ...
- mahout 推荐算法 java_推荐系统之推荐算法实战:mahout推荐算法框架
1.Mahout介绍 1.1概述 根据百度的解说,Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在 ...
- 推荐10个免费的HTML编辑器
推荐10个免费的HTML编辑器 如果你想开发一个网站,你肯定想要一个很棒的HTML编辑器,一个好的编辑器可以让代码更加整齐格式化,前端显示也会更好,从而提升你的工作效率.下面就为开发者推荐10个免费的 ...
- 强烈推荐 10 款珍藏的 Chrome 浏览器插件
Firebug 的年代,我是火狐(Mozilla Firefox)浏览器的死忠:但后来不知道为什么,该插件停止了开发,导致我不得不寻求一个新的网页开发工具.那段时间,不少人开始推荐 Chrome 浏览 ...
- python进程管理工具 ci_推荐 10 个好用的 CI/CD 工具
原标题:推荐 10 个好用的 CI/CD 工具 编辑 | Lisa 虽然云平台的到来让开发者免于安装和维护物理服务器,但测试和部署代码过程依旧需要人为完成,持续集成可以自动消除构建.测试和部署代码的大 ...
- 推荐10个超好玩的网站
推荐10个超好玩的网站,窥探别人的记忆,敲键盘听歌,办公偷懒神器,看中国古今妖怪--一打开就停不下来,一下午都不够玩. 别说了,这篇文章是我两天前就要写的.为什么现在才发出来?罪魁祸首就是下面这10个 ...
最新文章
- 计算机专业毕业文案,我们毕业啦!|今天,没有文案
- 当singleton Bean依赖propotype Bean,可以使用在配置Bean添加look-method来解决
- 导航跳转后保持选中状态 jquery高亮当前选中菜单
- html5访问本地资源,HTML5实现一个访问本地文件的实例今
- Java 9中的5个功能将改变您开发软件的方式(还有2个不会)
- 自言自语(2011.8.1)
- Linux 字符设备驱动开发基础(五)—— ioremap() 函数解析
- winform教_电脑绝技教你22天学精Csharp之第十五天winform应用程序补充5
- Science | 从结构生物学的角度理解人类mRNA剪接体分支位点的识别
- 头部互金科技负责人领路知识图谱
- [2011诺贝我物理奖]超新星与暗能量的收现
- 基于QT的HLW8032电能芯片测试上位机开发
- 微信公众账号开发教程(一) 基本原理及微信公众账号注册 ——转自http://www.cnblogs.com/yank/p/3364827.html...
- 农村物流配送管理如何走出困境?这里有方案
- 魔兽是用Python开发的,一起看看Python开发的知名网站和游戏!
- 第三单元 :资本成本笔记
- linux环境查看cpu是否开启睿频
- php 删除其他盘符,Linux_自动清除电脑垃圾及删除windows默认共享盘符的批处理bat,by:zuifeng258Windows在默认情况下 - phpStudy...
- 投资顾问需要什么条件
- 万能密码或账号登录语句