【朴素贝叶斯学习笔记】

算法描述

1.朴素贝叶斯思想是使用条件概率公式计算类别概率并进行分类。
注:朴素贝叶斯在[2]有较为完善的叙述,本篇笔者贡献仅为要点的整理与举例推理部分。十分建议大家读原文。
2.问题假设:论坛的评论区有侮辱性评论,需要过滤掉此类评论。[2]
3.数据输入:该论坛已有的评论文本及标签。
4.算法过程:
①将评论文本转换为向量。
②计算侮辱类的条件概率、非侮辱类的条件概率并统计两类的占比。
③根据②所得的三个数据计算新的评论文本的侮辱类的概率。

知识储备

1.条件概率;在此引用《Machine Learning in Action》中的例子:已知有7块石头放在两桶中,求右桶中取到白色石头的概率。
在这里插入图片描述
表示取到白色石头的前提下,这个石头来自右桶。

举个栗子

1.若评论文本如下:
在这里插入图片描述
首先是分词,然后遍历所有文本内容做成一个词汇的集合(不重复),接着再遍历每个文本,倘若文本出现该词则将对应的向量位置1。以上文本公有32个不重复的单词,每个文本对应向量如图2-7行。
请添加图片描述

2.统计两个类的总字数(S)、词频向量( C)和侮辱类文档的概率( P)。此处原作者采用了拉普拉斯平滑和对数的方法分别解决零概率和溢出问题。([2]章节4.4)
例如,标签为0的文本共有24个单词,拉普拉斯平滑为24+2(S)。同样,为避免零概率,每个词的初始值为1,而不是0,统计的词频向量( C)如图第9行。非侮辱类(标签0)的条件概率向量公式:
在这里插入图片描述
结果如上图第10行。标签1的文本结果如图11及12行。
侮辱类文档的概率就是标签1的概率0.5( P)。
3.将待分类的文本(love my dalmation)转换为32维向量T(如图14行),计算两个类别的概率。
①标签0概率:
在这里插入图片描述
②标签1概率:
在这里插入图片描述
∵①>②
∴该文本为非侮辱类。

实现代码

1.debug代码引用《机器学习实战》提供的demon,此书作者提供完整代码和数据集,强烈推荐。[1]
2.sklearn实现版本。[3]

算法分析

1.少量数据依然有效。(文本分类需要对数据做预处理)

资料引用

[1]GitHub:https://github.com/wzy6642/Machine-Learning-in-Action-Python3/tree/master/Bayes_Project1
[2]CSDN:https://blog.csdn.net/jiaoyangwm/article/details/79552267
[3]CSDN:https://zhzhx.blog.csdn.net/article/details/79518235
此算法笔记会在CSDN、知乎、b站及公众号同步更新,账号名为一枚嘉应子。转载注明出处,侵权必究。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值