本篇大纲:
1、朴素贝叶斯算法简介
2、朴素贝叶斯的三种类型
3、朴素贝叶斯的两种平滑方式
4、sklearn中相关API讲解
上期回顾
1、我们先列举了聚类算法的几种类型,包括原型聚类、层次聚类、密度聚类和其它聚类。并罗列出相应聚类算法中的一些典型聚类算法。
2、我们阐述了聚类算法的评价指标,分为有标签(出于学习和研究目的)和无标签(出于真实应用场景)情况下的评价指标。其中,有标签时的评价指标有:混淆矩阵、均一性(类如精确率)、完整性(类如召回率)、V-measure(类如F值)、兰德系数和调整兰德系数(类如正确率)、互信息和调整互信息(借鉴决策树)。无标签时的评价指标为轮廓系数,由簇内不相似度和簇间不相似度计算而来。
3、我们分别对原型聚类、层次聚类和密度聚类举了一个具体的算法,并详细阐述了其算法流程和相应优缺点等。
4、我们用四种不同的数据分布来对比各个聚类算法的效果好坏,及其时间长短情况,并得出初始结论,多数业务场景下使用kmeans即可,效果不够可以密度聚类来凑,时间充裕可以考虑密度聚类和谱聚类,维度高,聚类效果往往不太好,维度低,可以先用密度聚类、谱聚类做个去噪。
朴素贝叶斯算法简介
闲话不叙,直入正题。
1、条件概率
记事件A发生的概率为P(A),事件B发生的概率为P(B),则在B事件发生的前提下,A事件发生的概率即为条件概率,记为P(A|B)。
特殊的,当A事件与B事件相互独立时,则P(AB)=P(A)*P(B),则此时P(A|B)=P(A)。
2、贝叶斯公式
贝叶斯公式即将后验概率转换成条件概率与先验概率进行计算的公式。
这里要简单理一下先验概率和后验概率。
实际上,先验概率,即基于统计的概率。是基于以往历史经验和分析得到的结果,不需要依赖当前发生的条件。比如扔一次骰子,不知道开始哪面向上,抛起落下,问静止后向上为六的概率。这个概率,我们在事情发生之前就能根据经验知道,是六分之一,这就是先验概率。
而后验概率,则是从条件概率而来,由因推果。是基于当下发生了事件之后计算的概率,依赖于当前发生的条件。比如还是扔一次骰子,先验概率我们知道,扔一次结果数字六向上的概率为六分之一,但是实际上扔了好多次后我们发现,这颗骰子被做了手脚,怎么扔都是数字一朝上,此时,我们认为结果是数字六向上的概率为0,这就是后验概率。
那么这里贝叶斯公式为什么要将条件概率转先验概率,因为后验概率不好求,需要多发生几次,多试验几次,才能知道结果。而先验则很容易知道,因为历史数据在那里,历史经验在那里,所以可以理解为结果就在那里,拿来好方便。
另外,一般贝叶斯公式中分母都是基于全概率求得,公式如下:
关于全概率公式,这里就不赘述了,不了解的请自行百度一下。
3、朴素贝叶斯
朴素贝叶斯与贝叶斯最大的差别在于“朴素”。
所谓朴素,指的是一个假设,即假设特征变量之间是相互独立的。
相互独立,就意味着两个事件同时发生的概率即等于两个事件分