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

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

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



  1. <strong><span style="font-size:18px;">第一。下载数据集20news-bydate.tar.gz。在/usr/hadoop/mahout/下建立data目录
  2. (mkdir /usr/hadoop/mahout/data/)
  3.  
  4. 将下载的数据集解压tar 20news-bydate.tar.gz。之后放到data文件夹下。
  5.  
  6. 第二,产生input数据集(输入数据集),即对训练数据集进行预处理,数据准备阶段。将各类中的数据进行分词处理,
  7.  
  8. 去掉标点及副词等,同一时候将各类中的文件读入到一个大文件里,使得每类最后仅仅有一个文件包括起初全部的文件,而且创建input,output文件夹。
  9.  
  10. mahout下处理的文件必须是SequenceFile格式的。还须要把txtfile转换成sequenceFile。
  11.  
  12. 等处理完看结果时就明确了。
  13.  
  14. 命令为
  15. mahout org.apache.mahout.classifier.bayes.PrepareTwentyNewsgroups \
  16.  
  17. -p /usr/hadoop/mahout/data/20news-bydate-train \
  18.  
  19. -o /usr/hadoop/mahout/input/bayes-train-input \
  20.  
  21. -a org.apache.mahout.vectorizer.DefaultAnalyzer \
  22.  
  23. -c UTF-8
  24.  
  25. 完成后将input下的bayes-train-input放到hadoop的分布式文件系统上的 20news-input,
  26.  
  27. 输入命令hadoop dfs -put /usr/hadoop/mahout/input/bayes-train-input 20news-input
  28.  
  29. 第三,用处理好的训练数据集进行训练得出分类模型即中间结果。模型保存在分布式文件系统上。
  30.  
  31. 在mahout的文件夹下输入命令
  32. mahout trainclassifier \
  33. -i 20news-input \
  34. -o newsmodel \
  35. -type bayes \
  36. -ng 3 \
  37. -source hdfs
  38.  
  39. 当然能够查看newsmodel里的内容时,先查看其里面都有什么,
  40.  
  41. 命令:hadoop fs -lsr /user/hadoop/newsmodel
  42.  
  43. 将其导入到本地txt格式,进行查看。
  44.  
  45. 比如命令:mahout seqdumper -s /usr/hadoop/newsmodel/trainer-tfIdf//trainer-tfIdf/part-00000 -o /usr/hadoop/output/part-1
  46.  
  47. 然后使用vim /usr/hadoop/mahout/output/part-1
  48.  
  49. 最后,用模型进行測试,
  50.  
  51. 输入命令
  52. mahout testclassifier \
  53.  
  54. -m newsmodel \
  55.  
  56. -d 20news-input \
  57.  
  58. -type bayes \
  59.  
  60. -ng 3 \
  61.  
  62. -source hdfs \
  63.  
  64. -method mapreduce
  65.  
  66. 【注】这里说明下自己理解的參数ng的设置,ng就是作为属性的单词个数,默觉得1。
  67.  
  68. 就是单个单词作为属性。这里设置为3,可是训练和測试时此參数的值要设置一样。
  69.  
  70. </span></strong>

mahout測试朴素贝叶斯分类样例的更多相关文章

  1. hadoop学习;block数据块;mapreduce实现样例;UnsupportedClassVersionError异常;关联项目源代码

    对于开源的东东,尤其是刚出来不久,我认为最好的学习方式就是能够看源代码和doc,測试它的样例 为了方便查看源代码,关联导入源代码的项目 先前的项目导入源代码是关联了源代码文件 block数据块,在配置 ...

  2. ios的单元測试OCUnit以及更新了之后的XCTestCase

    1.像一般创建项目的步骤一样.创建一个用于測试的项目或者打开一个待測试的项目. (oc是5.0之前所使用的測试,如今用的是XCtestCase,默认会创建一个主的測试类.曾经版本号可能非常多步骤省去) ...

  3. Mock+Proxy在SDK项目的自己主动化測试实战

    项目背景 广告SDK项目是为应用程序APP开发者提供移动广告平台接入的API程序集合,其形态就是一个植入宿主APP的jar包.提供的功能主要有以下几点: - 为APP请求广告内容 - 用户行为打点 - ...

  4. Java 8 时间日期库的20个使用演示样例

    除了lambda表达式,stream以及几个小的改进之外,Java 8还引入了一套全新的时间日期API,在本篇教程中我们将通过几个简单的任务演示样例来学习怎样使用Java 8的这套API.Java对日 ...

  5. javascript 的 jasmine 的測试语句

    首先建立环境场景: 一般三个文件夹 lib jasmine的系统文件存放文件夹 spec 写測试用例的文件夹 src 存放源码的文件夹(被測对象) specRunner.html 測试入口文件. 入口 ...

  6. 移动測试技术保护源码!解码全球首款移动端白盒測试工具ThreadingTest (文章转自己主动点科技)

    作者 智晓锋 - 2014/07/14 自从斯诺登曝光美监听丑闻事件之后,我国政府就将信息安全问题上升到了国家安全的高度.基于此.国内的一家创业公司推出了智能型Android真机白盒測试以及开发辅助类 ...

  7. SWTBOK測试实践系列(4) -- 软件測试技术的黑白之道

    白盒測试和黑盒測试往往是项目中最受争议的两种測试类型,每一个人偏爱各不同.现实生活中行业人员大多喜欢白盒測试而忽视黑盒測试,那么项目中又应该怎样平衡这两类測试呢?我们先来看两个案例. 案例一: 某移动 ...

  8. 谈谈单元測试之(二):測试工具 JUnit 3

    前言 上一篇文章<为什么要进行烦人的单元測试?>讨论了一下现阶段软件开发中,程序猿们測试情况的现状.这篇文章中,我打算介绍一下单元測试的工具(插件).而且推荐大家以后在开发中,真正的用上单 ...

  9. 让你提前认识软件开发(19):C语言中的协议及单元測试演示样例

    第1部分 又一次认识C语言 C语言中的协议及单元測试演示样例 [文章摘要] 在实际的软件开发项目中.常常要实现多个模块之间的通信.这就须要大家约定好相互之间的通信协议,各自依照协议来收发和解析消息. ...

随机推荐

  1. hdoj-1016-Prime Ring Problem【深搜】

    Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...

  2. vim中使用正則表達式

    一.使用正則表達式的命令 使用正則表達式的命令最常见的就是 / (搜索)命令. 其格式例如以下: /正則表達式 还有一个非常实用的命令就是 :s(替换)命令,将第一个//之间的正則表達式替换成第二个/ ...

  3. 内网使用 IPV6 之 Chrome 浏览器 扩展程序 篇

    手机端的 Google Chrome 浏览器在打开 "流量节省程序"后,它会通过 Google 的服务器中转流量,这台服务器支持 IPV4 和 IPV6.想在PC端使用类似的&qu ...

  4. Linux下截图技巧

           在需要Linux显示图片的场合,最普通的方法,会考虑用数码相,或是用Vmware,或VPc来抓拍,这样以来会比较麻烦,Linux也自带了些工具例如Gimp,ksnapshot这里我介绍一 ...

  5. JAVA配置环境

  6. 2017国家集训队作业[arc076d/f][Exhausted?]

    2017国家集训队作业[arc076d/f][Exhausted?] 题意: ​ 有\(N\)个人,\(M\)把椅子,给出\(...L_i.R_i\)表示第\(i\)个人可以选择编号为\(1\sim ...

  7. split---将文件分割成多个小文件

    split命令可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等. 选项 -b:值为每一输出档案的大小,单位为 byte. -C:每一输出档中,单行的最大 ...

  8. IOS - 获取UITextField的输入文本

    当UITextField文本改变时, 依据内容更新数据, 通过写监听事件就可以. 加入监听: [timesField addTarget:self action:@selector(textField ...

  9. Android Cordova 插件开发之编写自己定义插件

    前言 本文适合Android+web的复合型人才,由于cordova本身就是混合开发,所以在Android开发的基础上,还要懂web相关技术(HTML+CSS+JS).可是也有例外,比方我.仅仅需负责 ...

  10. golang 写文件

    package main import ( "bufio" "fmt" "io" "os" ) func main() ...