朴素贝叶斯分类是一种十分简单的分类算法,即对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。
以判定外国友人为例做一个形象的比喻。
若我们走在街上看到一个黑皮肤的外国友人,让你来猜这位外国友人来自哪里。十有八九你会猜是从非洲来的,因为黑皮肤人种中非洲人的占比最多,虽然黑皮肤的外国人也有可能是美洲人或者是亚洲人。但是在没有其它可用信息帮助我们判断的情况下,我们会选择可能出现的概率最高的类别,这就是朴素贝叶斯的基本思想。
朴素贝叶斯算法注意点
-
当特征属性值的值类型不是离散值而是连续值的时候,需要通过高斯分布做概率的计算;
-
为了避免统计概率中出现概率为0的情况,可以引入Laplace校准,它的思想非常简单,就是对没类别下所有划分的计数加1。
适用场景及主要应用领域
-
朴素贝叶斯算法对待预测样本进行预测,过程简单速度快;
-
对于多分类问题也同样很有效,复杂度也不会有大程度上升;
-
在分布独立这个假设成立的情况下,贝叶斯分类器效果奇好,会略胜于逻辑回归,同时需要的样本量也更少一点。
-
对于类别类的输入特征变量,效果非常好。对于数值型变量特征,我们是默认它符合正态分布的。
主要应用领域
-
文本分类/垃圾文本过滤/情感判别:多分类较为简单,同时在文本数据中,分布独立这个假设基本是成立的。垃圾文本过滤(比如垃圾邮件识别)和情感分析(微博上的褒贬情绪)用朴素贝叶斯也通常能取得很好的效果。
-
多分类实时预测:对于文本相关的多分类实时预测,朴素贝叶斯算法被广泛应用,简单又高效。
-
推荐系统:朴素贝叶斯和协同过滤(Collaborative Filtering)是一对好搭档,协同过滤是强相关性,但是泛化能力略弱,朴素贝叶斯和协同过滤一起,能增强推荐的覆盖度和效果。