机器学习实战笔记(3.2)-朴素贝叶斯算法(贝努力模型代码实现)

本文介绍了朴素贝叶斯算法在文本分类中的应用,通过实例展示了如何利用贝叶斯定理计算文本属于好话或脏话的概率。通过分析向量表示的句子,计算每个单词在不同类别中的概率,最终实现分类。文中还讨论了算法的局限性和改进方法,如拉普拉斯平滑。
摘要由CSDN通过智能技术生成

机器学习实战笔记(3)-朴素贝叶斯算法(代码实现)

 

书中第一个例子给的样本如下: 6句话,三句脏话,三句好话。

 

[['my', 'dog', 'has', 'flea', 'problems', 'help','please'] -- Good words

 

['maybe', 'not', 'take', 'him', 'to', 'dog', 'park','stupid'] -- Shit words

 

['my', 'dalmation', 'is', 'so', 'cute', 'I', 'love','him'] -- Good words

 

['stop', 'posting', 'stupid', 'worthless', 'garbage'] --Shit words

 

['mr', 'licks', 'ate', 'my', 'steak', 'how', 'to', 'stop','him'] -- Good words

 

['quit', 'buying', 'worthless', 'dog', 'food', 'stupid']]-- Shit words

 

目前采用的算法是贝努力类型的朴素贝叶斯,就是对于文本分析,我们只考虑词是否出现,而不考虑出现的次数。

也就是所有的词都是一个权重!模型虽然简单,但是效果还是不错地。

 

首先是所有出现单词的列表:这里是只看出现不出现,不看频次。

 

['cute', 'love','help', 'garbage', 'quit', 'I', 'problems', 'is', 'park', 'stop', 'flea','dalmation', 'licks', 'food', 'not', 'him', 'buying', 'posting', 'has','worthless', 'ate', 'to', 'maybe', 'please', 'dog', 'how', 'stupid', 'so','take', 'mr', 'steak', 'my']

>>> 

 

然后根据每个句子的单词,生成对应句子的向量,就是单词是否出现。

句子矩阵:

 

[0, 0, 1, 0, 0, 0,1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1] --Good words

[0, 0, 0, 0, 0, 0,0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0] -- Shitwords

[1, 1, 0, 0, 0, 1,0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1] --Good words

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值