`
wbj0110
  • 浏览: 1550451 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Mahout的安装配置与使用

阅读更多

 Mahout 是Apache旗下的一个机器学习和数据挖掘的分布式框架,包括聚类,分类,协同过滤,关联规则挖掘等

经典的算法。

     1. 安装Maven

     wget http://apache.etoak.com//maven/maven-3/3.0.4/binaries/apache-maven-3.0.4-bin.tar.gz 下载

最新版本的Maven. tar xvf apache-maven-3.0.2-bin.tar.gz 解压后配置路径,vi ~/.bashrc 在此文件添加如下两行

export M3_HOME=maven的实际安装路径
export PATH=${M3_HOME}/bin:${PATH}

 然后执行. ~/.bashrc使之生效,通过mvn -version 查看版本来看是否安装成功。

    2. 安装Mahout

     svn co http://svn.apache.org/repos/asf/mahout/trunk mahout 将mahout从代码库中下载下来,在mahout

目录执行mvn install 安装,如果想快一点就跳过单元测试检验的那些个环节,使用mvn clean install -DskipTests=true。

如果过程中没有报错的话说明安装成功。

    3.  运行Mahout中的示例程序

     在/mahout/examples/bin下有个聚类的测试脚本,我们可以运行来看一下,不过事先要配置好Hadoop的运行环境,

我们运行下面这个

脚本,cluster-syntheticcontrol.sh

xxx@xxx: ./cluster-syntheticcontrol.sh
Please select a number to choose the corresponding clustering algorithm
1. canopy clustering
2. kmeans clustering
3. fuzzykmeans clustering
4. dirichlet clustering
5. meanshift clustering
Enter your choice :

 这里有好几个聚类的算法,都是使用http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data

这里的数据。实际跑一下,在hdfs里面output/clusters-*目录下可以查看结果。

    我们在运行一个协调过滤的例子,采用的是SlopeOne推荐的,从http://www.grouplens.org/node/12 下载需要的测试数据,

wget http://www.grouplens.org/system/files/ml-100k.zip unzip命令解压后,找到ua.base文件,将它放到HDFS文件系统

中去,hadoop fs -put ./ua.base input 。之后再/mahout/core/target目录下,执行下面的一串命令:

hadoop jar mahout-core-0.8-SNAPSHOT-job org.apache.mahout.cf.taste.hadoop.pseudo.RecommenderJob -Dmapred.input.dir=input/ua.base -Dmapred.output.dir=output/recommend/ --recommenderClassName org.apache.mahout.cf.taste.impl.recommender.slopeone.SlopeOneRecommender

运行之后我们将结果从hdfs导出到本地,hadoop fs -get output/recommend/  output, 先将part-r-00000.gz解压一下,然后tail -f part-r-00000就可以看到生成的

推荐结果了:

934 [1500:5.612117,1643:5.000663,1463:5.0,1293:5.0,1642:4.8183527,1368:4.740515,1398:4.733873,1639:4.5879145,114:4.5742764,1158:4.508668]
935 [851:5.9419937,1449:5.3944926,1398:5.373123,1158:5.355277,1612:5.3333335,1064:5.3093076,1191:5.2806797,1080:5.2754364,1332:5.226541,1642:5.147603]
936 [1500:5.6213202,1449:5.337122,851:5.314575,1463:5.2984333,1612:5.2581205,1642:5.093908,1398:5.015227,1293:5.0,1064:4.9175024,1158:4.8493795]
937 [1500:5.1213202,1293:5.0,1449:4.864124,1467:4.5690355,1612:4.5,1642:4.4209914,1175:4.369398,851:4.277082,1398:4.2526293,169:4.2230315]
938 [1500:6.0,851:5.4116225,1449:5.261485,1080:5.135357,1639:5.120229,1398:5.0513654,1612:5.0416207,1064:4.988654,1158:4.974,1629:4.9657393]
939 [1294:6.5,1175:6.5,1467:6.226541,851:6.0186186,1080:6.0,1233:5.995873,1629:5.8823447,1449:5.8435216,169:5.7910223,114:5.780447]
940 [1500:5.5841513,1463:5.119504,1293:5.0,1449:4.636525,1643:4.544313,1368:4.500481,1191:4.486469,1398:4.401837,1612:4.361653,1642:4.3293104]
941 [1500:7.5,868:6.0,1398:6.0,1639:6.0,1158:5.512253,1467:5.4142137,1396:5.2928934,1642:5.2928934,1080:5.2132034,851:5.1633635]
942 [1463:5.5285954,1500:5.5118446,1293:5.5,1449:5.4203076,1398:5.29603,1642:5.252299,1467:5.209111,1158:5.1849523,1524:5.1738963,1368:5.1218886]
943 [1080:5.3644133,1233:5.303138,1449:5.2133603,1500:5.178636,1467:5.017004,1293:5.0,1612:5.0,1398:4.874856,1643:4.863265,1607:4.8206778]

   怎么样,功能强大吧,所有的算法mahout都帮你实现好了,你需要的只是提供数据而已,ua.base中的数据是这样的:

943 1044    3   888639903
943 1047    2   875502146
943 1074    4   888640250
943 1188    3   888640250
943 1228    3   888640275
943 1330    3   888692465

 用户ID    ItemID    preference分值    Timestamp时间戳

分享到:
评论

相关推荐

    mahout0.9配置傻瓜说明

    mahout0.9配置说明,比较短,新手向,后面还有测试说明,在我的资源里找

    Mahout算法调用展示平台2.1-part3

    第三部分 功能主要包括四个方面:集群配置、集群算法监控、Hadoop模块、Mahout模块。 详情参考《Mahout算法调用展示平台2.1》

    Mahout算法调用展示平台2.1-part2

    第二部分 功能主要包括四个方面:集群配置、集群算法监控、Hadoop模块、Mahout模块。 详情参考《Mahout算法调用展示平台2.1》

    Mahout in action带书签目录 中文 完整版

    配置mahout 读者可能从本书的标题中依然知晓,本书是一本使用的工具书,讲解如何将mahout应用于业界。Mahout是Apache开源的机器学习库。它实现的算法都被归入机器学习或者集体智慧的范畴,但是在这里Mahout主要注重...

    基于Mahout的协同过滤电影推荐系统设计源码

    文件类型包括16个Java类文件、16个Java源代码文件、6个JavaScript脚本文件、3个Prefs配置文件、3个MF数据文件、3个DAT数据文件、3个PNG图片文件、2个XML配置文件、2个JSP页面文件、1个Classpath配置文件。...

    基于Mahout协同过滤的MovieRecommender-1电影推荐系统Java源码

    技术栈:主要采用Java语言,辅助使用JavaScript 项目概览:本项目包含62个文件,涵盖多种类型,具体文件类型分布如下: - Java类文件:16个,涉及核心业务逻辑和推荐算法的实现 - JavaScript文件:6个,用于前端...

    基于Mahout的Java协同过滤电影推荐系统设计源码

    本资源提供了一套基于Mahout的Java协同过滤电影推荐系统设计源码,包含62个文件,其中包括16个Java字节码文件,16个Java源代码文件,6个JavaScript脚本文件,3个Prefs文件,3个Manifest文件,3个Data文件,3个PNG...

    基于Mahout协同过滤的MovieRecommender电影推荐系统源码

    项目名称:MovieRecommender - 基于Mahout的协同过滤电影推荐系统 ...总体而言,MovieRecommender系统通过高效的协同过滤算法,结合易于使用的用户界面,为电影爱好者提供精准的个性化推荐服务,增强用户体验。

    Mahout算法调用展示平台2.1

    第一部分 功能主要包括四个方面:集群配置、集群算法监控、Hadoop模块、Mahout模块。 详情参考《Mahout算法调用展示平台2.1》

    基于Mahout框架的movieRecommender电影推荐系统源码

    项目名称:movieRecommender - 基于Mahout框架的电影推荐系统 技术栈:主要采用Java语言开发,辅以CSS、JavaScript和HTML构建用户界面。 文件构成:项目共包含117个文件,具体分布如下: - Java类文件:39个,其中...

    Mahout推荐算法API详解

    用Mahout来构建推荐系统,是一件既简单又困难的事情。简单是因为Mahout完整地封装了“协同过滤”算法,并实现了并行化,提供非常简单的API接口;困难是因为我们不了解算法细节,很难去根据业务的场景进行算法配置和...

    第7章-大数据分析与挖掘技术---大数据基础.pptx

    Mahout安装与配置 6 (1)安装JDK+IDEA集成开发环境; (2)安装配置maven; (3)安装配置Mahout; (4)安装配置Hadoop伪分布式环境。 第7章-大数据分析与挖掘技术---大数据基础全文共37页,当前为第6页。 Mahout...

    recomender-emr-mahout

    通过遵循以下项目此存储库包含在Amazon Elastic Map Reduce上使用apache mahout和redis运行推荐器的所有方案。 要构建推荐程序1.注册一个AWS账户。 2.配置elastic-mapreduceRuby客户端。 3.启动EMR群集(请注意...

    Hadoop安装手册_Hadoop2.0.pdf

    hadoop2.0版本安装手册,包含hadoop、hive、hbase、mahout、sqoop、spark、storm、整个体系的安装配置

    计算机课程毕设:基于spark、mahout和spring boot构建的智能推荐系统.zip

    本资源中的源码都是经过本地编译过可运行的,下载后按照文档配置好环境就可以运行。资源项目的难度比较适中,内容都是经过助教老师审定过的,应该能够满足学习、使用需求,如果有需要的话可以放心下载使用。有任何...

    Hadoop实战-第二版-陆嘉恒 (2012版)

    Hadoop安装配置3. MapReduce计算模型4. MapReduce应用程序5. MapReduce应用案例6. MapReduce工作机制7. Hadoop I/O操作8. 下一代MapReduce: Yarn9. HDFS简介10. HDFS文件结构11. Hive详解12. HBase详解13. Mahout...

Global site tag (gtag.js) - Google Analytics