您的位置:首页 > 其它

Mahout学习四--贝叶斯分类

2015-07-26 21:16 225 查看
一,算法流程

A,准备阶段

1,确定特征属性--->获取训练样本

B,训练阶段

1,对每个类别计算P(y1)

2,对每个特征属性计算所有划分的条件概率

C,预测阶段

1,对每个类别计算P(x|y1)P(y1)

2,以P(x|y1)P(y1)最大项作为X所属类别

二,mahout使用

A,创建序列数据集

mahout seqdirectory -i input_text -o input_seq -ow

B,转换序列文件为向量

1,mahout seq2sparse -i input_seq -o input_vec -lnorm -nv -wt tfidf

2,向量化过程

a,wordCount

b,计算TFIDF值

C,将单词index和TFIDF值组成的向量输出

C,拆分数据集

mahout split -i input_vec/tfidf-verctors \

--trainingOutput train_vectors \

--testOutput test_vectors \

--randomSelectionPct 40 --overwrite --sequenceFiles -xm sequential

D,训练

mahout trainnb -i train_vectors -el -o bayes_model -li labelindex -ow -c

F,预测

mahout testnb -i test_vectors -m bayes_model -l labelindex -ow -o test_out -c

三,检验朴素贝叶斯过程

A,首先从训练的模型中得到model,实例化model

输出的key就是类别的text,value是输入向量在每个类别中的得分

B,计算此label下的feature得分和

C,最后analyze,对每个key,通过score vector得到最大值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: