朴素贝叶斯算法

1.案例:一个简单的垃圾邮件过滤器

①朴素贝叶斯算法假设
 给定邮件不是垃圾邮件的条件下,其中的每个单词存在与否与其它单词无关。

②解决办法

③解决下溢出问题
 概率相乘,多浮点数,需要转换。


④解决单词缺失问题


</br>

2.算法的实现

将邮件解析为不同的单词
 lower => findall([a-z0-9']) => set
计算单词出现在已做标记都的邮件训练中的次数
返回一个字典,键为单词,值为列表[单词出现在垃圾邮件中的次数,单词出现在非垃圾邮件中的次数]
利用平滑技术(解决单词缺失问题)将计数转换为估计概率。包含
 单词,单词出现在垃圾邮件中的概率,单词出现在非垃圾邮件中的概率
利用假设和概率给邮件赋予概率
 解决下溢出问题内容

3.测试模型及改进

①测试结果(基于一个小测试)
 查准率约为75%
 查全率约为73%
②改进
 1)更多考察邮件内容,而不只是主题
 2)修改分类器,让其接受可选阈值,低于阈值不考虑
 3)修改分类器,使其接受一个词干分析器查找同类词
 4)添加其它特征值,比如数字

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容