mahout之分布式Item-Based使用

一:简介

基于用户的协同推荐算法随着使用者数量的增多,计算的时间就会变长,所以在2001年Sarwar提出了基于项目的协同过滤推荐算法(Item-based Collaborative Filtering Algorithms)。基于用户的协同推荐mahout没有实现分布式算法,Mahout基于Item的分布式推荐算法的主要内容见org.apache.mahout.cf.taste.hadoop.item.

二:准备输入文件

采用分布式算法,输入文件首先需存放在hdfs上,文件格式(userid,itemid,preference)

三:程序代码

 1 public static void main(String[] arg) throws Exception {
 2         // TODO Auto-generated method stub
 3         Configuration conf = new Configuration();
 4         String[] args = { "-i", "/mahout/mahout_input.txt", "-o",
 5                 "/mahout/mahout_output", "-n", "3", "-b", "false",
 6                 "-s", "SIMILARITY_EUCLIDEAN_DISTANCE", "--maxPrefsPerUser",
 7                 "7", "--minPrefsPerUser", "2", "--maxPrefsInItemSimilarity",
 8                 "7", "--outputPathForSimilarityMatrix",
 9                 "/mahout/similarity", "--tempDir",
10                 "/mahout/tmpdir" };
11         ToolRunner.run(conf, new RecommenderJob(), args);
12     }

参数详解:

 1  --output 输出路径
 2
 3 --input   输入路劲
 4
 5 -n      为每个用户推荐的产品数
 6
 7 -u      待推荐的用户列表
 8
 9 -i      待推荐的 item 列表
10
11 -f      过滤指定用户不需要推荐的 item 。格式为 userID, itemID 对
12
13 -b      输入的样本不带产品评分
14
15 -mp    设置每个用户喜好的最大数量 默认 10
16
17 -m     设置每个用户喜好的最小数量 默认 1
18
19 -mo    样本抽样
20
21 -s      相似度量方法

mahout之分布式Item-Based使用,布布扣,bubuko.com

时间: 2024-10-26 19:25:24

mahout之分布式Item-Based使用的相关文章

Mahout推荐算法API详解

前言 用Mahout来构建推荐系统,是一件既简单又困难的事情.简单是因为Mahout完整地封装了“协同过滤”算法,并实现了并行化,提供非常简单的API接口:困难是因为我们不了解算法细节,很难去根据业务的场景进行算法配置和调优. 本文将深入算法API去解释Mahout推荐算法底层的一些事. 1. Mahout推荐算法介绍 Mahoutt推荐算法,从数据处理能力上,可以划分为2类: 单机内存算法实现 基于Hadoop的分步式算法实现 1). 单机内存算法实现 单机内存算法实现:就是在单机下运行的算法

Mahout推荐算法API详解【一起学Mahout】

阅读导读: 1.mahout单机内存算法实现和分布式算法实现分别存在哪些问题? 2.算法评判标准有哪些? 3.什么会影响算法的评分? 1. Mahout推荐算法介绍 Mahout推荐算法,从数据处理能力上,可以划分为2类: 单机内存算法实现 基于Hadoop的分步式算法实现 1). 单机内存算法实现 单机内存算法实现:就是在单机下运行的算法,是由cf.taste项目实现的,像我们熟悉的UserCF,ItemCF都支持单机内存运行,并且参数可以灵活配置.单机算法的基本实例,请参考文章:用Maven

mahout 常见机器学习算法及分类

最近一直在学习hadoop 一直没有梳理接触到的东西,常见算法分类: 推荐系统(推荐引擎): 基于用户的协同过滤算法UserCF      近邻算法,容易实现 基于物品的协同过滤算法ItemCF       速度快,容易实现分布式计算 SlopeOne算法       @Deprecated at mahout 0.8 KNN Linear interpolation item–based推荐算法    最近邻算法   @Deprecated at mahout 0.8 SVD推荐算法   奇异

Mahout推荐算法API具体解释【一起学Mahout】

阅读导读: 1.mahout单机内存算法实现和分布式算法实现分别存在哪些问题? 2.算法评判标准有哪些? 3.什么会影响算法的评分? 1. Mahout推荐算法介绍 Mahout推荐算法,从数据处理能力上,能够划分为2类: 单机内存算法实现 基于Hadoop的分步式算法实现 1). 单机内存算法实现 单机内存算法实现:就是在单机下执行的算法,是由cf.taste项目实现的,像我们熟悉的UserCF,ItemCF都支持单机内存执行.而且參数能够灵活配置.单机算法的基本实例.请參考文章:用Maven

[转]Mahout推荐算法API详解

Mahout推荐算法API详解 Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括,YARN, Hcatalog, Oozie, Cassandra, Hama, Whirr, Flume, Bigtop, Crunch, Hue等. 从2011年开始,中国进入大数据风起云涌的时代,以Hadoop为代表的家族软件,占

[转]hadoop,spark,storm,pig,hive,mahout等到底有什么区别和联系?

摘自知乎大神的论述 作者:Xiaoyu Ma链接:https://www.zhihu.com/question/27974418/answer/38965760来源:知乎著作权归作者所有,转载请联系作者获得授权. 大数据本身是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的.你可以把它比作一个厨房所以需要的各种工具.锅碗瓢盆,各有各的用处,互相之间又有重合.你可以用汤锅直接当碗吃饭喝汤,你可以用小刀或者刨子去皮.但是每个工具有自己的特性,虽然奇怪

Understanding Item Import and Debugging Problems with Item Import (Doc ID 268968.1)

In this Document Purpose Details   Scenario 1: Testing the basic item import with minimum columns populated   Scenario 2: To import items and use item templates   Scenario 3: To import items and material cost associated to it.   Scenario 4: To import

推荐系统中的相似度度量

相似度计算是数据挖掘,推荐引擎中的最基本问题,例如在推荐系统(Recommender Systems,简称RSs)中计算带推荐物品(Item)相似度,或是用户(User)之间的相似度以期获得兴趣口味(Taste)相似的用户时,均需要使用到相似度计算技术.经常使用的相似度计算方式较多,且各有特点, 以下就列出常用的相似度计算方式,原理,以及其优缺点. 相似度计算和距离计算是类似问题,之前粗略看了下Mahout(apache分布式数据挖掘项目)中的实现对各计算方式进行分析.结合在实际项目中的应用,介

机器学习和深度学习资料合集

机器学习和深度学习资料合集 注:机器学习资料篇目一共500条,篇目二开始更新 希望转载的朋友,你可以不用联系我.但是一定要保留原文链接,因为这个项目还在继续也在不定期更新.希望看到文章的朋友能够学到更多.此外:某些资料在中国访问需要梯子. <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.Deep Learning. <Deep Learning in