加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

利用贝叶斯分类器进行文本挖掘---笔记

发布时间:2020-12-14 03:03:24 所属栏目:大数据 来源:网络整理
导读:1. 调用庖丁分词器,分词 grid@server01:~/data$ hadoop jar mrtokenize.jar tokenize.TokenizeDriver /home/grid/data/lesson8 /home/grid/output/sportwords 14/08/31 21:59:33 INFO input.FileInputFormat: Total input paths to process : 10205 ..... 1

1. 调用庖丁分词器,分词

grid@server01:~/data$ hadoop jar mrtokenize.jar tokenize.TokenizeDriver /home/grid/data/lesson8 /home/grid/output/sportwords

14/08/31 21:59:33 INFO input.FileInputFormat: Total input paths to process : 10205

.....

14/08/31 22:05:25 INFO mapred.JobClient: ? ? Map output records=10205

共处理:10205个文件,耗时 6 分钟



分词后的结果:

badminton ? ? ? 尤伯 伯杯 中国 泰国 挺进 决赛 王仪 仪涵 机敏 回球 月 日 中国 中国队 选手 王仪 仪涵 比赛 中回 回球 她最 最终 战胜 泰国 队 选手 手拉 差诺 当日 武汉 体育 中心 中心体 体育 体育馆 举行 年尤 尤伯 伯杯 羽毛 羽毛球 球赛 决赛 半决赛 中 中国 中国队 总比 比分 战胜 泰国 队 晋级 决赛 新华 新华社 记者 孟永 永民 民摄 关注 体育 了解 更多 体坛 资讯?

badminton ? ? ? 尤伯 伯杯 中国 泰国 挺进 决赛 王仪 仪涵 比赛 中 发球 月 日 中国 中国队 选手 王仪 仪涵 比赛 中 发球 她最 最终 战胜 泰国 队 选手 手拉 差诺 当日 武汉 体育 中心 中心体 体育 体育馆 举行 年尤 尤伯 伯杯 羽毛 羽毛球 球赛 决赛 半决赛 中 中国 中国队 总比 比分 战胜 泰国 队 晋级 决赛 新华 新华社 记者 孟永 永民 民摄 关注 体育 了解 更多 体坛 资讯?


2. load 分词集

grunt> processed = load'/home/grid/output/sportwords' as (category:chararray,doc:chararray);


3. 随机 20% 生成 测试集

grunt> test = sample processed 0.2;


4. 生成训练集

grunt> jnt =join processed by (category,doc) left outer,test by (category,doc);

grunt> filt_test = filter jnt by test::category is null; ?

grunt> train = foreach filt_test generate processed::category as category,processed::doc as doc;


5. 导出测试集和训练集

grunt> store test into '/home/grid/data/lesson8.2/test';


6. 统计测试集分类?

grunt> test_ct= foreach(group test by category) generate group,COUNT(test.category);

grunt> dump test_ct; ??


result:

(f1,196)

(golf,206)

(swim,170)

(tennis,187)

(football,209)

(pingpong,220)

(badminton,212)

(billiards,236)

(basketball,201)

(volleyball,204)



7. 统计训练集

grunt> train_ct= foreach(group train by category) generate group,COUNT(train.category);

grunt> dump train_ct;


8. 利用朴素贝叶斯分类器,来训练模型


grid@server01:~/data$ mahout trainclassifier

> -i /home/grid/data/lesson8.2/train

> -o /home/grid/output/model-bayes8.2

> -type bayes

> -ng 1

> -source hdfs


result:

14/08/31 23:31:15 INFO mapred.JobClient: ? ? Map output records=228211

14/08/31 23:31:15 INFO common.HadoopUtil: Deleting /home/grid/output/model-bayes8.2/trainer-docCount

14/08/31 23:31:15 INFO common.HadoopUtil: Deleting /home/grid/output/model-bayes8.2/trainer-termDocCount

14/08/31 23:31:15 INFO common.HadoopUtil: Deleting /home/grid/output/model-bayes8.2/trainer-featureCount

14/08/31 23:31:15 INFO common.HadoopUtil: Deleting /home/grid/output/model-bayes8.2/trainer-wordFreq

14/08/31 23:31:15 INFO common.HadoopUtil: Deleting /home/grid/output/model-bayes8.2/trainer-tfIdf/trainer-vocabCount

14/08/31 23:31:15 INFO driver.MahoutDriver: Program took 1265118 ms (Minutes: 21.0853)



9. 测试模型?


grid@server01:~/data$ mahout testclassifier

> -d /home/grid/data/lesson8.2/test

> -m /home/grid/output/model-bayes8.2

> -type bayes

> -ng 1

> -source hdfs

> -method mapreduce

14/08/31?23:45:52?INFO?bayes.BayesClassifierDriver:?=======================================================
Confusion?Matrix
-------------------------------------------------------
a???????b???????c???????d???????e???????f???????g???????h???????i???????j???????<--Classified?as
190?????0???????1???????1???????0???????3???????0???????0???????0???????0????????|??195?????????a?????=?basketball
0???????249?????0???????0???????0???????0???????1???????0???????0???????0????????|??250?????????b?????=?billiards
0???????0???????198?????0???????0???????1???????0???????0???????0???????0????????|??199?????????c?????=?badminton
0???????0???????0???????224?????0???????0???????0???????0???????0???????0????????|??224?????????d?????=?football
0???????0???????0???????0???????190?????0???????0???????0???????0???????0????????|??190?????????e?????=?volleyball
0???????0???????0???????0???????0???????181?????0???????0???????0???????0????????|??181?????????f?????=?swim
0???????1???????0???????0???????0???????0???????204?????0???????0???????0????????|??205?????????g?????=?pingpong
1???????0???????0???????0???????0???????0???????0???????193?????0???????0????????|??194?????????h?????=?golf
0???????0???????0???????0???????0???????0???????0???????0???????196?????0????????|??196?????????i?????=?f1
0???????0???????0???????0???????0???????0???????1???????0???????0???????206??????|??207?????????j?????=?tennis


10. 用户浏览记录分词,同1

grid@server01:~/data$ hadoop jar mrtokenize.jar tokenize.TokenizeDriver /home/grid/data/les8-usersport /home/grid/lesson8/output/userwords



11. 利用sport 生成的模型对用户浏览内容进行分类

grid@server01:~/data$ hadoop jar mrclassify.jar ?classifier.ClassifierDriver

> /home/grid/lesson8/output/userwords

> /home/grid/lesson8/output/classify

> /home/grid/output/model-bayes8.2

> bayes



result:

grid@server01:~/data$ hadoop fs -cat /home/grid/lesson8/output/classify/part-r-00000 | head -20

Warning: $HADOOP_HOME is deprecated.


10511838|badminton|7

10511838|basketball|5

10511838|billiards|8

10511838|f1|7

10511838|football|11

10511838|golf|5

10511838|pingpong|5

10511838|tennis|2

10511838|volleyball|12

10564290|badminton|2

10564290|basketball|12

10564290|billiards|11

10564290|f1|12

10564290|football|16

10564290|golf|1

10564290|pingpong|18

10564290|swim|6

10564290|tennis|3

10564290|volleyball|7

107879|basketball|7

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读