• mahout測试朴素贝叶斯分类样例


    对于这个測试建议大家先理解原理,这里我画了例如以下的示意图




    接下来就依照例如以下的细节来输入指令測试:


    首先前提是Hadoop安装并启动,mahout已经安装了。


    <strong><span style="font-size:18px;">第一。下载数据集20news-bydate.tar.gz。在/usr/hadoop/mahout/下建立data目录
    (mkdir /usr/hadoop/mahout/data/)
    
    将下载的数据集解压tar 20news-bydate.tar.gz。之后放到data文件夹下。
    
    
    第二,产生input数据集(输入数据集),即对训练数据集进行预处理,数据准备阶段。将各类中的数据进行分词处理,
    
    去掉标点及副词等,同一时候将各类中的文件读入到一个大文件里,使得每类最后仅仅有一个文件包括起初全部的文件,而且创建input,output文件夹。
    
    mahout下处理的文件必须是SequenceFile格式的。还须要把txtfile转换成sequenceFile。

    等处理完看结果时就明确了。 命令为 mahout org.apache.mahout.classifier.bayes.PrepareTwentyNewsgroups -p /usr/hadoop/mahout/data/20news-bydate-train -o /usr/hadoop/mahout/input/bayes-train-input -a org.apache.mahout.vectorizer.DefaultAnalyzer -c UTF-8 完成后将input下的bayes-train-input放到hadoop的分布式文件系统上的 20news-input, 输入命令hadoop dfs -put /usr/hadoop/mahout/input/bayes-train-input 20news-input 第三,用处理好的训练数据集进行训练得出分类模型即中间结果。模型保存在分布式文件系统上。 在mahout的文件夹下输入命令 mahout trainclassifier -i 20news-input -o newsmodel -type bayes -ng 3 -source hdfs 当然能够查看newsmodel里的内容时,先查看其里面都有什么, 命令:hadoop fs -lsr /user/hadoop/newsmodel 将其导入到本地txt格式,进行查看。 比如命令:mahout seqdumper -s /usr/hadoop/newsmodel/trainer-tfIdf//trainer-tfIdf/part-00000 -o /usr/hadoop/output/part-1 然后使用vim /usr/hadoop/mahout/output/part-1 最后,用模型进行測试, 输入命令 mahout testclassifier -m newsmodel -d 20news-input -type bayes -ng 3 -source hdfs -method mapreduce 【注】这里说明下自己理解的參数ng的设置,ng就是作为属性的单词个数,默觉得1。 就是单个单词作为属性。这里设置为3,可是训练和測试时此參数的值要设置一样。

    </span></strong>




  • 相关阅读:
    mysql事件之修改事件(ALTER EVENT)&禁用事件(DISABLE)&启用事件(ENABLE)&事件重命名&数据库事件迁移
    用Sqoop进行Hive和MySQL之间的数据互导
    Sqoop使用手册
    azkaban使用案例
    azkaban3.x安装
    工作流调度器azkaban概述
    将 Hive 空值统一为 N
    [模拟] [洛谷] P1765 手机
    [NYISTOJ] 题目845 无主之地1
    [NYISTOJ] 题目 458 小光棍数
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/7000264.html
Copyright © 2020-2023  润新知