Mahout---贝叶斯算法示例

本文介绍如何利用Mahout在Hadoop集群环境下搭建并应用贝叶斯分类器,包括数据集下载、预处理、模型训练及评估等关键步骤。

Step 1:
下载数据集
http://qwone.com/~jason/20Newsgroups/
数据集名称:20news-19997.tar.gz
这里写图片描述

Step 2:
在装有Mahout的节点上,执行命令:

mkdir -p /opt/apps/mahout/apache-mahout-distribution-0.10.2/test
cd  /opt/apps/mahout/apache-mahout-distribution-0.10.2/test

Step 3:
使用xftp将下载后的数据集上传到上述路径下
这里写图片描述

Step 4:
在三个节点上执行命令,启动zookeeper

zkServer.sh start
zkServer.sh status

这里写图片描述
这里写图片描述
这里写图片描述

Step 5:
在node11节点上启动HDFS和Yarn

start-all.sh

这里写图片描述

在node12节点上执行命令,启动Yarn的resourcemanager

yarn-daemon.sh start resourcemanager

这里写图片描述

Step 6:
打开浏览器,输入网址进行查看HDFS
192.168.80.11:50070
192.168.80.12:50070

这里写图片描述
这里写图片描述

打开浏览器,输入网址进行查看Yarn
192.168.80.11:8088
192.168.80.12:8088
这里写图片描述
这里写图片描述

Step 7:
在node11节点上执行命令,创建HDFS目录

hadoop fs -mkdir -p /ml/classification/bayesian/input
hadoop fs -ls /ml/classification/bayesian/input

这里写图片描述

Step 8:
在node11节点上执行命令,将刚才使用xftp传到Linux的文件上传到HDFS中

hadoop fs -put /opt/apps/mahout/apache-mahout-distribution-0.10.2/test/20_newsgroups /ml/classification/bayesian/input
hadoop fs -ls /ml/classification/bayesian/input

这里写图片描述
Step 9:
在node11节点上执行命令,将20newsgroups数据转换为序列文件

mahout seqdirectory -i /ml/classification/bayesian/input/20_newsgroups  -o /ml/classification/bayesian/input/20_newsgroups_seq

这里写图片描述

Step 10:
在node11节点上执行命令,把序列文件转换为向量

mahout seq2sparse -i /ml/classification/bayesian/input/20_newsgroups_seq -o /ml/classification/bayesian/input/20_newsgroups_vectors -lnorm -nv -wt tfidf

这里写图片描述

Step 11:
在node11节点上执行命令,将输入数据分为训练和测试两部分

mahout split -i /ml/classification/bayesian/input/20_newsgroups_vectors/tfidf-vectors --trainingOutput /ml/classification/bayesian/input/20_train_vectors --testOutput /ml/classification/bayesian/input/20_test_vectors --randomSelectionPct 40 --overwrite --sequenceFiles -xm sequential

这里写图片描述

Step 12:
在node11节点上执行命令,训练贝叶斯模型

mahout trainnb  -i /ml/classification/bayesian/input/20_train_vectors  -o /ml/classification/bayesian/input/model -li /ml/classification/bayesian/input/labelindex

这里写图片描述

Step 13:
在node11节点上执行命令,测试、评估贝叶斯模型

mahout testnb -i /ml/classification/bayesian/input/20_train_vectors -m /ml/classification/bayesian/input/model -l /ml/classification/bayesian/input/labelindex -ow -o /ml/classification/bayesian/input/20news-testing

这里写图片描述
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值