数据挖掘十大算法(九):朴素贝叶斯 python和sklearn实现
第三个算法终于算是稍有了解了,其实当你结合数据了解了它的实现原理后,你会发现确实很朴素。这里对朴素贝叶斯算法做一个介绍和总结,包括( 原理、一个代码示例、sklearn实现 ),皆为亲自实践后的感悟,下面进入正文。 原理: 首先我们需要了解概率论的一些简单知识: 最后推导出的就是贝叶斯公式,这里说一下我的感悟:上面的公式如果就这样不结合数据来看,是很容易理解的,我用了几分钟便了解了这个高中学过的东西。但是在我将它和实际数据之间联系起来时,却花了几个小时。毕竟得到一个公式只是基础,如果不能在数据上运用得当那也是无用武之地。下面就这个问题说一下: 朴素贝叶斯的原理: 根据一些先验概率计算Y变量属于某个类别的后验概率 先验概率: 是指现有数据根据以往的经验和分析得到的概率 后验概率: 事情已经发生,要求这件事情发生的原因是由某个因素引起的可能性的大小 一个通俗的理解: 你求出了你在百思图买了一双白鞋的概率,那么如何得知你买了一双白鞋而这双白鞋就在百思图的概率呢。 这就是利用先验概率来求得后验概率的问题,再拿一个数据说明(引入他人的): 上表中的信息反映的是某P2P企业判断其客户是否会流失(churn),而影响到该变量的因素包含年龄、性别、收入、教育水平、消费频次、支持。那根据这样一个信息,我该如何理解朴素贝叶斯的思想呢?再来看一下朴素贝叶斯公式: 从公式中可知