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>
mahout測试朴素贝叶斯分类样例的更多相关文章
- hadoop学习;block数据块;mapreduce实现样例;UnsupportedClassVersionError异常;关联项目源代码
对于开源的东东,尤其是刚出来不久,我认为最好的学习方式就是能够看源代码和doc,測试它的样例 为了方便查看源代码,关联导入源代码的项目 先前的项目导入源代码是关联了源代码文件 block数据块,在配置 ...
- ios的单元測试OCUnit以及更新了之后的XCTestCase
1.像一般创建项目的步骤一样.创建一个用于測试的项目或者打开一个待測试的项目. (oc是5.0之前所使用的測试,如今用的是XCtestCase,默认会创建一个主的測试类.曾经版本号可能非常多步骤省去) ...
- Mock+Proxy在SDK项目的自己主动化測试实战
项目背景 广告SDK项目是为应用程序APP开发者提供移动广告平台接入的API程序集合,其形态就是一个植入宿主APP的jar包.提供的功能主要有以下几点: - 为APP请求广告内容 - 用户行为打点 - ...
- Java 8 时间日期库的20个使用演示样例
除了lambda表达式,stream以及几个小的改进之外,Java 8还引入了一套全新的时间日期API,在本篇教程中我们将通过几个简单的任务演示样例来学习怎样使用Java 8的这套API.Java对日 ...
- javascript 的 jasmine 的測试语句
首先建立环境场景: 一般三个文件夹 lib jasmine的系统文件存放文件夹 spec 写測试用例的文件夹 src 存放源码的文件夹(被測对象) specRunner.html 測试入口文件. 入口 ...
- 移动測试技术保护源码!解码全球首款移动端白盒測试工具ThreadingTest (文章转自己主动点科技)
作者 智晓锋 - 2014/07/14 自从斯诺登曝光美监听丑闻事件之后,我国政府就将信息安全问题上升到了国家安全的高度.基于此.国内的一家创业公司推出了智能型Android真机白盒測试以及开发辅助类 ...
- SWTBOK測试实践系列(4) -- 软件測试技术的黑白之道
白盒測试和黑盒測试往往是项目中最受争议的两种測试类型,每一个人偏爱各不同.现实生活中行业人员大多喜欢白盒測试而忽视黑盒測试,那么项目中又应该怎样平衡这两类測试呢?我们先来看两个案例. 案例一: 某移动 ...
- 谈谈单元測试之(二):測试工具 JUnit 3
前言 上一篇文章<为什么要进行烦人的单元測试?>讨论了一下现阶段软件开发中,程序猿们測试情况的现状.这篇文章中,我打算介绍一下单元測试的工具(插件).而且推荐大家以后在开发中,真正的用上单 ...
- 让你提前认识软件开发(19):C语言中的协议及单元測试演示样例
第1部分 又一次认识C语言 C语言中的协议及单元測试演示样例 [文章摘要] 在实际的软件开发项目中.常常要实现多个模块之间的通信.这就须要大家约定好相互之间的通信协议,各自依照协议来收发和解析消息. ...
随机推荐
- hdoj-1016-Prime Ring Problem【深搜】
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- vim中使用正則表達式
一.使用正則表達式的命令 使用正則表達式的命令最常见的就是 / (搜索)命令. 其格式例如以下: /正則表達式 还有一个非常实用的命令就是 :s(替换)命令,将第一个//之间的正則表達式替换成第二个/ ...
- 内网使用 IPV6 之 Chrome 浏览器 扩展程序 篇
手机端的 Google Chrome 浏览器在打开 "流量节省程序"后,它会通过 Google 的服务器中转流量,这台服务器支持 IPV4 和 IPV6.想在PC端使用类似的&qu ...
- Linux下截图技巧
在需要Linux显示图片的场合,最普通的方法,会考虑用数码相,或是用Vmware,或VPc来抓拍,这样以来会比较麻烦,Linux也自带了些工具例如Gimp,ksnapshot这里我介绍一 ...
- JAVA配置环境
- 2017国家集训队作业[arc076d/f][Exhausted?]
2017国家集训队作业[arc076d/f][Exhausted?] 题意: 有\(N\)个人,\(M\)把椅子,给出\(...L_i.R_i\)表示第\(i\)个人可以选择编号为\(1\sim ...
- split---将文件分割成多个小文件
split命令可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等. 选项 -b:值为每一输出档案的大小,单位为 byte. -C:每一输出档中,单行的最大 ...
- IOS - 获取UITextField的输入文本
当UITextField文本改变时, 依据内容更新数据, 通过写监听事件就可以. 加入监听: [timesField addTarget:self action:@selector(textField ...
- Android Cordova 插件开发之编写自己定义插件
前言 本文适合Android+web的复合型人才,由于cordova本身就是混合开发,所以在Android开发的基础上,还要懂web相关技术(HTML+CSS+JS).可是也有例外,比方我.仅仅需负责 ...
- golang 写文件
package main import ( "bufio" "fmt" "io" "os" ) func main() ...