最近太忙,实在没时间充电了,翻出一篇一年前的学习笔记先顶一下,虽然当今机器学习框架已经封装的非常好了,但是了解何时使用和算法里发生了什么也是很重要的。
简介
用python的文本处理能力将文档切分成词向量,对文档进行分类和过滤,最终将结果转换成人可以理解的信息。
优点:在数据较少的情况下仍然有效,可以处理多类别问题。
缺点:对于输入数据的准备方式较为敏感。
使用数据类型:标称型数据。
流程
朴素贝叶斯的一般流程:
1.收集数据:可以使用任何方法。
2.准备数据:需要数值型或者布尔型数据。
3.分析数据:有大量特征时,绘制特征作用不大,此时使用直方图效果更好。
4.训练算法:计算不同的独立特征的条件概率。
5.测试算法:计算错误率。
6.使用算法:一个常见的朴素贝叶斯应用是文档分类。可以在任意的分类场景中使用朴素贝叶斯分类器。
使用情况分类
决策树和朴素贝叶斯的使用情况分类:
决策树适合标准的离散化数据,并且对数值型数据的处理难以处理。
朴素贝叶斯的要求相对较低。
示例代码
|
|
总结
朴素贝叶斯算法是充分的利用概率原理,用概率的方法分类一个对象的所属类别,对多个类型的对象都可以使用。
算法首先收集了所有训练的词组(数字),通过对总体(比如说文章)的的判断训练,让机器清楚每个的词组出现在总体中分类的概率,用对数的方式防止向下溢出,最终整合概率进行分类。