这是我参与8月更文挑战的第8天,活动详情查看:8月更文挑战
在了解朴素贝叶斯法之前,我们首先需要了解贝叶斯定理
贝叶斯定理
全概率公式
由条件概率公式:
对一个事件组X={X1,X2,X3,...,Xn},任意一个事件C的概率可得全概率公式:
贝叶斯公式
在已知条件概率的基础上,我们可以很容易计算贝叶斯公式
代入P(C)得到
将贝叶斯公式带入到机器学习当中,我们可以发现以下规则
朴素贝叶斯算法
算法简介
朴素贝叶斯法只满足“所有特征之间都是独立的”的条件(即假设一个样本有n个特征,那么P(x1,x2,x3,x4,...,xn)=P(x1)P(x2)P(x3)...P(xn)),其分类原理就是利用贝叶斯公式根据某对象的先验概率计算出其后验概率,然后选择具有最大后验概率的类作为该对象所属的类。
实例讲解
举个例子,在相亲市场上,对于男方,有以下几个特征(长相是否帅气、性格是否好、身高是否高、是否上进)从而评判最终结果(接受/不接受)。给定特征后,我们就可以将这个决策转换为数学问题。 比如,当一个长相帅气,性格优越,身高高且上进的男生,女方会如何做出决策呢?我们只要计算P(接受丨帅气,性格好,身高高,上进)与P(不接受丨帅气,性格好,身高高,上进)并进行比较就可以了。
算法特点
- 在数据较少的时候依然有效,可以处理多类别的问题
- 对于输入数据的准备方式较为敏感
代码实现
同样以鸢尾花为例: