接前面的hadoop下mahout-bayes(贝叶斯)算法研究(1)
9.输出数据含义分析与研究
这个混合矩阵的意思说明:
上述a到u分别是代表了有20类别,这就是我们之前给的20个输入文件
列中的数据说明每个类别中被分配到的字节个数,classified说明应该被分配到的总数
381 0 0 0 0 9 1 0 0 0 1 0 0 2 0 1 0 0 3 0 0 | 398 a = rec.motorcycles
意思为rec.motorcycles 本来是属于 a,有381篇文档被划为了a类,这个是正确的数据,其它的分别表示划到 b~u类中的数目。我们可以看到其正确率为 381/398=0.95728643216080402010050251256281 ,可见其正确率还是很高的了。
10.输入数据格式分析研究
就像案例一样:需要输入的内容是文本分类和模型使用
在train中添加特征类型数据
在test中添加测试数据
Train的输入格式,第一个字符时类标签,剩余的是特征(单词),标签和特征词用table键隔开,如下面的格式:
比如在20newsgroup这个例子中的文件中
alt.atheism是类标签,剩下的是特征。其他的类似
11.如何将业务数据转换成对应的输入数据
假设我们要通过某一些关键词来确定这个账单是最可能属于谁的
账单1
账单2
当特征值选取
时
Result
在zhangdan2中一共3条记录,有2条被收录到b(zhangdan1)中,有1条被收录到a(zhangdan2)
满足条件:字段:shanghai和zhangchun都在zhangdan1中满足2条
字段:beijing在zhangdan2中满足1条
所以该文档更可能属于zhangdan1
测试可能不够全面只是为了了解大致了解
12.如何将结果提取并应用
看这条输出:
a列代表数据在a中的符合条数(即可能有386个在a),所以a被归类在comp.graphics的可能性很高
所以可能通过这样的数据来判断数据可能被归类到哪里
13.适用场景展望
该算法可能用来处理大规模数据的分类,特征值选取越准确,正确率越高,算法简单容易理解,但在单机上的实验运行速度较慢。
14.参考文档:
https://cwiki.apache.org/confluence/display/MAHOUT/Twenty+Newsgroups(官方)
http://running.iteye.com/blog/922148(中文)
http://www.cnblogs.com/leoo2sk/archive/2010/09/17/naive-bayesian-classifier.html