mahout入门学习
因为要用到云计算下的数据挖掘,所以就简单看了一下mahout配置,mahout是一个基于Map/Reduce的机器学习算法库,运行在hadoop集群上废话不多说,下面看配置过程
1.到mahout官网上下载mahout-distribution-0.4.tar.gz,这个是已经编译好的包,如果下的是源码包,则需要安装maven来编译
2.前面已经搭过hadoop,这里不再说,下面设置环境变量,sudo vi /etc/profile(关于ubuntu环境变量,请看参考)
export HADOOP_HOME=/home/guang/Desktop/tools/hadoop-0.20.2
export HADOOP_CONF_DIR=/home/guang/Desktop/tools/hadoop-0.20.2/conf
export MAHOUT_HOME=/home/guang/Desktop/tools/mahout-distribution-0.4
export PATH=$HADOOP_HOME/bin:$MAHOUT_HOME/bin:$PATH
3.启动hadoop,也可以用伪分布式来测试
4.mahout --help ##检查Mahout是否安装完好,看是否列出了一些算法
5.下载数据集synthetic_control.data。Download it here.
6.创建测试目录testdata,并把数据导入到这个tastdata目录中(这里的目录的名字只能是testdata,因为mahout它会自动到hdfs中去寻找这个目录)
$HADOOP_HOME/bin/hadoop fs -mkdir testdata
$HADOOP_HOME/bin/hadoop fs -put /home/test/synthetic_control.data testdata
7.运行kmeans算法
hadoop jar mahout-examples-0.4-job.jar org.apache.mahout.clustering.syntheticcontrol.kmeans.Job
这里会运行几分钟,耐心等待。
8.查看运行结果。依次运行下列命令:
$HADOOP_HOME/bin/hadoop fs -lsr output
$HADOOP_HOME/bin/hadoop fs -get output $MAHOUT_HOME/result
$cd MAHOUT_HOME/examples/result
$ls
如果看到以下结果,那么算法运行成功,你的安装也就成功了:
clusteredPoints clusters-0clusters-1clusters-2......clusters-10 data
看网上的结果最后是8个clusters文件夹,都是默认没有指定K值(可以指定聚成K类)让其聚类的啊,数据集也是一样的啊,为什么结果不一样,不知道是什么问题?我的在运行过程中,没见报错啊,可以清楚看到每个迭代的MapReduce过程。估计是版本问题,那个mahout用的是0.3版,我用的是0.4版。有知道正确原因的,还请留言赐教!
2011-8-1答:根据原数据点和上一次迭代(或初始聚类)的聚类中心计算本次迭代的聚类中心,输出到clusters-N目录下,mahout_in_action这本书中也写道,clusters-N目录是每次迭代产生的目录,看源码后,这个迭代次数设置的是10次
后面具体看看kmeans算法,看是如何结合MapReduce聚类的,然后看看基于mahout的推荐引擎
参考资料:
1.http://wenku.baidu.com/view/dbd15bd276a20029bd642d55.html mahout的安装图文版
2.http://blog.csdn.net/chjshan55/article/details/5923646
3.https://cwiki.apache.org/confluence/display/MAHOUT/Clustering+of+synthetic+control+data
4.http://bbs.hadoopor.com/thread-983-1-1.html
页:
[1]