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语言中的协议及单元測试演示样例 [文章摘要] 在实际的软件开发项目中.常常要实现多个模块之间的通信.这就须要大家约定好相互之间的通信协议,各自依照协议来收发和解析消息. ...
随机推荐
- 《linux 内核全然剖析》编译linux 0.12 内核 Ubuntu 64bits 环境
我×.. . 最终好了,大概3 4个小时吧...各种毛刺问题.终究还是闯过来了.. .. ubuntu2@ubuntu:~/Downloads/linux-0.00-050613/linux-0.00 ...
- android Manifest.xml选项
结构 继承关系 public final class Manifest extends Object java.lang.Object android.Manifest 内部类 class Mani ...
- 在OEL 5.4 32bit上使用yum install命令遇到的问题
在OEL 5.4 32bit上使用yum install命令遇到的问题 [root@localhost yum.repos.d]# yum install elfutils-libelf-devel- ...
- UVALive 5292 Critical Links
Critical Links Time Limit: 3000ms Memory Limit: 131072KB This problem will be judged on UVALive. Ori ...
- HTML中行内元素与块级元素有哪些及区别
二.行内元素与块级元素有什么不同? 块级元素和行内元素的区别是,块级元素会占一行显示,而行内元素可以在一行并排显示. 通过样式控制,它们可以相互转换. 1.尺寸-块级元素和行内元素之间的一个重要的不同 ...
- 洛谷 P1506 拯救oibh总部
P1506 拯救oibh总部 题目背景 oibh总部突然被水淹没了!现在需要你的救援…… 题目描述 oibh被突来的洪水淹没了>.<还好oibh总部有在某些重要的地方起一些围墙,用*号表示 ...
- [Java开发之路](16)学习log4j日志
1. 新建一个Javaproject.导入Jar包(log4j-1.2.17.jar) Jar包下载地址:点击打开链接 2. 配置文件:创建并设置log4j.properties # 设置 log4j ...
- RelativeLayout-代码中成员控件width height
今天需要在代码中动态的设置一个textview的width跟height属性,记录下来. textview在xml中的布局如下 <RelativeLayout android:layout_wi ...
- select发生改变使用js提交form表单(get传值)
form表单如下: <form id="my_form" method="get" action=""> <input t ...
- STM32 输入捕获的脉冲宽度及频率计算
输入捕获模式可以用来测量脉冲宽度或者测量频率.STM32 的定时器,除了 TIM6 和 TIM7,其他定时器都有输入捕获功能.以下是对脉冲宽度及频率的计算. 1.脉冲宽度 如下图所示,采集该高电平脉冲 ...