搭建基于hadoop平台的机器学习工具Mahout

在看mahout之前,先看看它的logo:


有了Mahout,我们大象才会按照预期的想法去做事儿~驭象者~~~~ho~~~~~~~~

Mahout 是一个很强大的数据挖掘工具,是一个分布式机器学习算法的集合,包括:被称为Taste的分布式协同过滤的实现、分类、聚类等。Mahout最大的优点就是基于hadoop实现,把很多以前运行于单机上的算法,转化为了MapReduce模式,这样大大提升了算法可处理的数据量和处理性能。

确保hadoop集群全部正常启动~

下面我们在master节点上安装mahout。去Apache社区下载。直接使用命令:

wget http://mirror.metrocast.net/apache/mahout/0.9/mahout-distribution-0.9.tar.gz  
然后在当前目录下,会看到下载好的文件,解压缩 mahout-distribution-0.9.tar.gz并重命名为mahout,移动mahout到/usr/local/并修改文件夹的所有者及其所属组:

chown hadoop:hadoop mahout -R

然后在/etc/profile文件中添加环境变量

# set mahout environment
export MAHOUT_HOME=/usr/local/mahout
export MAHOUT_CONF_DIR=$MAHOUT_HOME/conf
export PATH=$MAHOUT_HOME/conf:$MAHOUT_HOME/bin:$PATH
最后使环境变量生效:

source /etc/profile
然后测试是否安装成功,终端键入mahout命令,如果输出的结果中含有许多相关的算法则说明安装成功。

然后测试一个K均值聚类的例子,首先需要下载原始数据,利用下面的命令:

wget http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data
然后在hadoop集群上建立测试数据的目录,这里需要注意这个路径,要按照例子默认的路径

hdfs dfs -mkdir -p /user/hadoop/testdata
然后上传数据到HDFS

hdfs dfs -put synthetic_control.data /user/hadoop/testdata
然后运行聚类算法:

mahout org.apache.mahout.clustering.syntheticcontrol.kmeans.Job
在我搭建的集群上,大致运行3分钟就可实现结果。可以利用下面的命令进行查看:

hdfs dfs -ls /user/hadoop/output
下面运行一个分类器的例子:

先查看其运行脚本,按照其shell脚本的要求新建测试目录:

hdfs dfs -mkdir -p /tmp/mahout-work-hadoop/20news-all
然后运行脚本,会提示选择哪种分类器,这里我选择贝叶斯分类器。

./classify-20newsgroups.sh
至此测试完成~












  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值