`
backsnow
  • 浏览: 127258 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

mahout安装配置

 
阅读更多

http://log.medcl.net/item/2011/02/mahout_install/

 

Apache Mahout 是一个机器学习的框架,构建在hadoop上支持大规模数据集的处理,目前最新版本 0.4。

Apache Mahout 简介
http://www.ibm.com/developerworks/cn/java/j-mahout/

基于 Apache Mahout 构建社会化推荐引擎
http://www.ibm.com/developerworks/cn/java/j-lo-mahout/

Taste:
http://taste.sourceforge.net

Mahout currently has

Collaborative Filtering User and Item based recommenders K-Means, Fuzzy K-Means clustering Mean Shift clustering Dirichlet process clustering Latent Dirichlet Allocation Singular value decomposition Parallel Frequent Pattern mining Complementary Naive Bayes classifier Random forest decision tree based classifier High performance java collections (previously colt collections) A vibrant community and many more cool stuff to come by this summer thanks to Google summer of code

mahout安装(centos)

cd /usr/local
sudo mkdir mahout
sudo svn co http://svn.apache.org/repos/asf/mahout/trunk mahout

安装maven3
cd /tmp
sudo wget http://apache.etoak.com//maven/binaries/apache-maven-3.0.2-bin.tar.gz
tar vxzf apache-maven-3.0.2-bin.tar.gz
sudo mv apache-maven-3.0.2 /usr/local/maven

vi ~/.bashrc

添加如下两行
export M3_HOME=/usr/local/maven
export PATH=${M3_HOME}/bin:${PATH}

执行 . ~/.bashrc,使设置生效[或者先logout,之后再login]
查看maven版本,看是否安装成功
mvn -version

安装mahout
cd /usr/local/mahout
sudo mvn install

如果报JAVA_HOME is not set,如果是用sudo,检查root的java设置
vi /etc/profile
export JAVA_HOME=/usr/local/jdk1.6/
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
执行. /etc/profile 再执行mvn clean install -DskipTests=true //skip tests,fast build

数据准备
cd /tmp
wget http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data

hadoop fs -mkdir testdata
hadoop fs -put synthetic_control.data testdata
hadoop fs -lsr testdata

如果报HADOOP_HOME环境变量没有设置
sudo vi /etc/profile,添加
export HADOOP_HOME=/usr/lib/hadoop-0.20/

hadoop集群来执行聚类算法
cd /usr/local/mahout

bin/mahout org.apache.mahout.clustering.syntheticcontrol.canopy.Job
bin/mahout org.apache.mahout.clustering.syntheticcontrol.kmeans.Job
bin/mahout org.apache.mahout.clustering.syntheticcontrol.fuzzykmeans.Job
bin/mahout org.apache.mahout.clustering.syntheticcontrol.dirichlet.Job
bin/mahout org.apache.mahout.clustering.syntheticcontrol.meanshift.Job

如果执行成功,在hdfs的/user/dev/output里面应该可以看到输出结果
GroupLens Data Sets
http://www.grouplens.org/node/12 ,包括MovieLens Data Sets、Wikilens Data Set、Book-Crossing Data Set、Jester Joke Data Set、EachMovie Data Set

下载1m的rating数据

mkdir 1m_rating
wget http://www.grouplens.org/system/files/million-ml-data.tar__0.gz
tar vxzf million-ml-data.tar__0.gz
rm million-ml-data.tar__0.gz

拷贝数据到grouplens代码的目录,我们先本地测试下mahout的威力
cp *.dat /usr/local/mahout/examples/src/main/java/org/apache/mahout/cf/taste/example/grouplens

cd /usr/local/mahout/examples/
执行
mvn -q exec:java -Dexec.mainClass="org.apache.mahout.cf.taste.example.grouplens.GroupLensRecommenderEvaluatorRunner"
如 果不想做上面拷贝文件的操作,则指定输入文件位置就行,如下:
mvn -q exec:java -Dexec.mainClass="org.apache.mahout.cf.taste.example.grouplens.GroupLensRecommenderEvaluatorRunner" -Dexec.args="-i input——file"
上传到hdfs
hadoop fs -copyFromLocal 1m_rating/  mahout_input/1mrating

补充

mahout,svn地址:https://svn.apache.org/repos/asf/mahout/trunk

https://cwiki.apache.org/MAHOUT/creating-vectors-from-text.html

将lucene索引数据转换成文本向量,指定索引目录~/index 字段名称Name,索引临时输出文件~/dict.txt ,最终结果输出文件路径output.txt,并限制最大向量数目50
$/usr/local/mahout/bin/mahout lucene.vector --dir ~/index --field Name --dictOut ~/dict.txt --output output.txt --max 50 --norm 2

查看下dict的文件内容
$head -n dict.txt
10225
#term doc freq idx
Michale 67 0
medcl 1 1
jack 3 2
lopoo 2 3
003 2 4

由上面的数据可见,dict.txt里面是我们的指定的Name字段的索引信息

使用taste-web来快速构建基于grouplens数据集的电影推荐系统

$cd taste-web/
拷贝grouplens的推荐包到taste-web的lib目录下,如果jar包还没有,转到目录执行 mvn install即可
$ cp examples/target/grouplens.jar taste-web/lib/

taste-web]$ vi recommender.properties
取消掉这一行的注释,配置使用grouplens的 recommender,如下:
recommender.class=org.apache.mahout.cf.taste.example.grouplens.GroupLensRecommender

启动jetty,如果一切正常,访问8080端口,可以看到有这么个webservice,http://platformb:8080 /RecommenderService.jws
mvn jetty:run-war

执行如下命令,查看推荐结果:http://platformb:8080/RecommenderServlet?userID=1
看截 图1,2,结果的第一列表示推荐的评分,第二项为电影的id,简单几步就完成了一个推荐功能,是不是很强悍啊。

彪悍的配置文件们

 

分享到:
评论

相关推荐

    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电影推荐系统源码

    项目名称:MovieRecommender - 基于Mahout的协同过滤电影推荐系统 项目概述: MovieRecommender是一个基于Apache Mahout的协同过滤算法实现的电影推荐系统。该系统主要以Java语言开发,同时整合了JavaScript以提供...

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

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

    Mahout算法调用展示平台2.1

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

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

    项目名称:MovieRecommender-1 - 基于Mahout的协同过滤电影推荐系统 技术栈:主要采用Java语言,辅助使用JavaScript 项目概览:本项目包含62个文件,涵盖多种类型,具体文件类型分布如下: - Java类文件:16个,...

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

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

    Mahout推荐算法API详解

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

    Hadoop安装手册_Hadoop2.0.pdf

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

    recomender-emr-mahout

    配置elastic-mapreduceRuby客户端。 3.启动EMR群集(请注意价格,并确保随后关闭群集)。 4.获取MovieLens数据5.wget 解压缩ml-1m.zip 转换rating.dat,将“ ::”换为“,”,并仅使用前三列:cat ml-1m / ratings...

    关于spring系统中多系统的配置

    一般情况下,一个project中只有个系统,在某些情况下,可能会要求包含多个系统,此时spring配置文件怎么进行配置

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

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

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

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

Global site tag (gtag.js) - Google Analytics