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 概述 Mahout 是一个高度可扩展的机器学习库,特别适用于大数据环境。它提供了多种数据挖掘算法的实现,如分类、聚类、推荐系统等,并且这些算法可以在 Hadoop 分布式...
Mahout 安装配置** 安装Mahout首先需要准备Hadoop环境,因为Mahout是构建在Hadoop之上的。你需要下载并安装Hadoop,配置Hadoop环境变量,并确保集群运行正常。接着,从Apache官方网站获取Mahout的最新版本,解压后...
Apache Mahout的Windows单机安装涉及了Java环境、Maven的配置和源码的编译。通过以上步骤,开发者可以在本地环境中快速上手Mahout,进行机器学习实验和开发。由于Mahout是基于Hadoop设计的,因此对于大数据处理和...
通过上述步骤,不仅可以顺利完成Mahout的安装与配置,还能够深入了解Mahout的基本原理及其在实际项目中的应用。Mahout作为一款强大的机器学习工具,对于希望在大数据环境下实施智能分析的应用来说,具有不可替代的...
- Mahout的安装指南:详细介绍了如何在不同的操作系统上安装Mahout,以及如何配置相关环境,确保Mahout可以顺利运行。 - 数据预处理:在进行机器学习之前,数据预处理是一个重要的步骤,Mahout提供了相应的工具来...
1. **配置环境**:确保已经安装了Java和Hadoop,并且设置了相应的环境变量。 2. **下载Mahout**:解压提供的`mahout-distribution-0.5`压缩包到本地目录。 3. **创建输入数据**:准备要进行聚类的数据,通常是以CSV...
它包含了配置文件、依赖管理和项目结构,使得开发者可以快速地搭建起一个基于Mahout的项目环境,进行机器学习的实验和开发。 在项目结构上,`maven_mahout_template-mahout-0.8`可能包括以下关键组件: 1. `pom....
3. Mahout的安装与配置 要成功运行Mahout Taste Webapp,需要完成一系列的安装和配置步骤。首先,从Apache官方网站或SVN代码库下载Mahout的0.5版本源码包,然后使用Maven命令编译并安装相关模块到本地仓库中。需要...
为了使用Mahout,用户需要在自己的环境中进行一系列预安装设置。首先,需要安装Java,因为它是Mahout项目的主要开发语言。在安装Java之后,需要下载并安装Hadoop,这是一个用于存储和处理大型数据集的框架。为了使...
为了在 Eclipse 中使用 Mahout,你需要安装 Hadoop 和 Mahout 相关的插件,或者手动配置项目以包含 "Mahout 最新基础依赖包" 中的 JAR 文件。这样可以避免因缺少依赖而导致的编译错误或运行时问题。 **使用步骤** ...
4. **安装与配置**:详述如何在本地或分布式环境中设置Mahout,包括依赖库的安装、Hadoop集群的配置以及与其他大数据工具(如Hive和Pig)的集成。 5. **数据预处理**:在应用机器学习算法之前,数据清洗和转换是...
4. **配置文件**:如`.xml`文件,可能包含Hadoop和Mahout的配置信息。 5. **示例项目**:演示如何在Hadoop 2环境下运行Mahout的实例。 6. **构建脚本**:如`build.xml`(Ant)或`pom.xml`(Maven),用于构建和测试...
接着,将深入讲解Mahout的架构、工作原理以及安装配置方法,使读者能够搭建起自己的Mahout开发环境。 在机器学习部分,书中涵盖了多种Mahout支持的算法,如协同过滤、聚类、分类和回归等。协同过滤是推荐系统的核心...
每个模块对应于一个Maven子项目,可以通过添加相应的依赖到自己的Maven配置中来集成Mahout的功能。例如,如果你需要使用推荐系统,只需在`pom.xml`文件中添加相关的Mahout依赖即可。 **3. Mahout 与 Hadoop** ...
2. **环境配置**:在安装和配置过程中,确保所有依赖项正确设置。这包括JDK、Hadoop、Mahout的路径设置,以及Hadoop集群的配置文件(如core-site.xml、hdfs-site.xml和mapred-site.xml)中的相关参数。 3. **编译与...
最后,如果你打算在 Eclipse 中开发基于 Mahout 的应用程序,还需要安装 Eclipse 插件(如 m2eclipse)来支持 Maven 项目,并配置 Hadoop 和 Mahout 的相关路径。这将使得在 IDE 中编写、编译和调试 Mahout 代码变得...
本书不仅涵盖了安装与配置Mahout所需的环境,还提供了丰富的示例代码,展示了如何利用Mahout进行推荐系统、分类、聚类等数据挖掘任务。 ### Mahout并非难事 章节开篇便引入了安装Java和Hadoop的基本步骤,强调了这...