朴素贝叶斯算法

2017-07-23  本文已影响0人  赵氏春秋ZRH

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

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

②解决办法

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


④解决单词缺失问题


</br>

2.算法的实现

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

3.测试模型及改进

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

上一篇下一篇

猜你喜欢

热点阅读