本文介绍如何使用Python实现一个简易的朴素贝叶斯分类器(Naive Baves classifier)。
贝叶斯公式
我们先简单回顾一下贝叶斯公式:
其中,我们称P(A)和P(B)为先验概率,P(A|B)和P(B|A)为后验概率。
上诉公式可以直接从条件概率公式推导出。根据条件概率的定义,在事件A发生的条件下事件B发生的概率是:
其中,两边同乘P(A),可得:
同理,在事件B发生的条件下事件A发生的概率是:
将
用
替换,即可得到贝叶斯公式。
朴素贝叶斯分类器的公式
假设某个体有n项特征,分别为
。现有m个分类,分别为
。贝叶斯分类器就是计算出概率最大的那个分类,也就是求下面这个算式的最大值:
其中,
。
由于
对于所有的类别都是相同的,可以省略,问题就变成了求,
朴素贝叶斯假定所有的特征值相互独立,因此:
上式等号右边的每一项,都可以从统计资料中得到,由此就可以计算出每个类别对应的概率,从而找出最大概率的那个类。
虽然"所有特征彼此独立"这个假设,在现实中不太可能成立&#x