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,简单几步就完成了一个推荐功能,是不是很强悍啊。
彪悍的配置文件们
Mahout 安装配置的更多相关文章
- mahout安装配置
1.下载mahout 下载地址:http://mahout.apache.org 我下载的最新版:mahout-distribution-0.9 2.把mahout解压到你想存放的文档,我是放在/Us ...
- mahout 安装测试
1 下载 在http://archive.apache.org/dist/mahout下载相应版本的mahout 版本,获取官网查看http://mahout.apache.org 相关的信息
- Mahout安装部署
0x01 简介 Mahout 是一套具有可扩充能力的机器学习类库.它提供机器学习框架的同时,还实现了一些可扩展的机器学习领域经典算法的实现,可以帮助开发人员更加方便快捷地创建智能应用程序.通过和 Ap ...
- NO.2 安装配置
检测当前系统下的jdk安装情况: [root@Centos 桌面]# rpm -qa | grep java tzdata-java-2012j-1.el6.noarch java-1.7.0-ope ...
- Hive安装配置指北(含Hive Metastore详解)
个人主页: http://www.linbingdong.com 本文介绍Hive安装配置的整个过程,包括MySQL.Hive及Metastore的安装配置,并分析了Metastore三种配置方式的区 ...
- Hive on Spark安装配置详解(都是坑啊)
个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/p/a7f75b868568 简介 本文主要记录如何安装配置Hive on Sp ...
- ADFS3.0与SharePoint2013安装配置(原创)
现在越来越多的企业使用ADFS作为单点登录,我希望今天的内容能帮助大家了解如何配置ADFS和SharePoint 2013.安装配置SharePoint2013这块就不做具体描述了,今天主要讲一下怎么 ...
- Hadoop的学习--安装配置与使用
安装配置 系统:Ubuntu14.04 java:1.7.0_75 相关资料 官网 下载地址 官网文档 安装 我们需要关闭掉防火墙,命令如下: sudo ufw disable 下载2.6.5的版本, ...
- redis的安装配置
主要讲下redis的安装配置,以及以服务的方式启动redis 1.下载最新版本的redis-3.0.7 到http://redis.io/download中下载最新版的redis-3.0.7 下载后 ...
随机推荐
- oracle A用户访问B用户的表aa
在B中:grant select on aa to A; (还可以配置insert,update,delete权限)
- EF+Sqlite 动态设置连接字符串
摘要 在做c/s项目的时候,如果使用ef+sqlite,我们不知道客户端会安装在哪里,需要动态的来设置db所在路径. 解决办法 /// <summary> /// 数据上下文 /// &l ...
- 报错:System.Data.Entity.Validation.DbEntityValidationException: 对一个或多个实体的验证失败
使用MVC和EF,在保存数据的时候报错:System.Data.Entity.Validation.DbEntityValidationException: 对一个或多个实体的验证失败.有关详细信息, ...
- Delphi处理Android的路径信息
路径操作就使用TPath的方法都很方便.usesSystem.IoUtilsTPath.GetTempPath//临时目录TPath.GetCameraPath//照相机目录(照片/录像)TPath. ...
- JAVA BigDecimal的相加
之前很少使用这样的一个对象BigDecimal,今天在改需求的时候遇到了,结果坑爹的怎么相加最后都为零. 代码如下: BigDecimal totalAmount = new BigDecimal(0 ...
- Raspbian 中国软件源
转自:http://shumeipai.nxez.com/2013/08/31/raspbian-chinese-software-source.html 花了些时间整理了目前最新的树莓派中国大陆地区 ...
- Java反射-修改String常量
/* * ReflectString.java * Version 1.0.0 * Created on 2017年12月15日 * Copyright ReYo.Cn */ package reyo ...
- 多个so中模板单例的多次实例化
在Android打包项目时,发现登录功能不能使用了,logcat中也没发现什么问题,最后一行一行log定位到了问题.原来是一个so文件中的构造函数被初始化二次! 这个单例是通过继承模板来实现的(暂 ...
- Lua游戏开发参考资料收集
table {border-collapse:collapse;} List of game engines that use lua: 2D Agen (Lua; Windows) Blitwiza ...
- 《Web性能权威指南》
<Web性能权威指南> 基本信息 原书名:High performance browser networking 原出版社: O'Reilly Media 作者: (加)Ilya Grig ...