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得到最大值
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得到最大值
相关文章推荐
- hdu 1533 Going Home (最小费用最大流)
- VC++中如何将字符串转换成整型数字
- DP SRM 661 Div2 Hard: ColorfulLineGraphsDiv2
- mac上安装mysql
- Android清除本地数据缓存代码
- BZOJ3456 : 城市规划
- 黑马程序员----基础题----我的基础题
- 动态类型检查
- 我不是蛤蟆!
- Android ViewPager多页面滑动切换以及动画效果
- 代码检查、走查和评审
- A New Tetris Game - HDU 1760 博弈
- C# 抽象类和接口的区别
- 7.26 继承
- 0的个数(极速版)
- 为何马云总能五百块钱办成大事
- 7. PHP 变量
- CodeForces 471B MUH and Important Things 要求输出
- SVD
- crossvalind函数 (交叉验证函数)