sklearn朴素贝叶斯分类器_基于朴素贝叶斯模型的文本分类器

3b245b5170e50158f5b331da52221525.png

朴素贝叶斯模型因为其简单实用,在分类中有广泛的应用。结合文本分类的传统模型-词袋模型,进行简单分类,效果还不错。

比如,输入:

‘这个孩子不好,昨天生气打人了, 糟糕’,分类结果为: neg,0.6577

'这个孩子虽然 打人 ,但非常优秀' ,分类结果为:pos,0.7067

第一步,首先建立词袋对象

9497ea5169705fab4c36792ade111b77.png

Sublime Text显示非常漂亮。

我们看,词袋对象word_tags一共三个成员:

bags :词袋,用词典,key:word项,value:word在类别中出现的次数

counts: word的总数量

unk : 表示未见过的词语

然后,定义了相关成员,关键函数包括:

update_bags(self,key,value):模型训练过程中,更新词袋的对象和计数

get_word_frequency(self,key): 获取词项对应的词频

然后,定义Bayes模型对象:

05adccf565349f080c735b6be15db9ca.png

包括训练和预测两个函数。

之后,来定义情感分类对象:

e05543b4456048eea0677782be12f797.png

Sentiment_analysis通过预处理数据以后,调用Bayes_model进行训练和预测。

最后,进行训练和分类:

f11c351a00e4e8cbf6053e8a7e448a1d.png

效果还不错:

('neg', 0.657748544497328)

('pos', 0.7067436447326716)

以上只是简单验证,完整的处理还应包括文本的预处理,词频统计算法的修改,统计和可视化,但这些不是本文重点,略过。

如果需要完整代码请留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值