且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

ML之NB:朴素贝叶斯Naive Bayesian算法的简介、应用、经典案例之详细攻略

更新时间:2022-03-23 17:52:36

朴素贝叶斯Naive Bayesian算法的简介


       朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。朴素贝叶斯分类器基于一个简单的假定:给定目标值时属性之间相互条件独立。

       通过以上定理和“朴素”的假定,我们知道:

P(Category | Document) = P(Document | Category ) * P(Category) / P(Document)


       朴素贝叶斯的基本方法:在统计数据的基础上,依据条件概率公式,计算当前特征的样本属于某个分类的概率,选择最大的概率分类。对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。



1、朴素贝叶斯计算流程表述


(1)x = {a1, a2,..., am}为待分类项,每个ai为x的一个特征属性

(2)有类别集合C = {y1, y2, ..., yn}

(3)计算P(y1|x), P(y2|x), ..., P(yn|x)

(4)如果P(yk|x) = max{P(y1|x)


2、朴素贝叶斯的优缺点


2.1、优点


       朴素贝叶斯算法假设了数据集属性之间是相互独立的,因此算法的逻辑性十分简单,并且算法较为稳定,当数据呈现不同的特点时,朴素贝叶斯的分类性能不会有太大的差异。换句话说就是朴素贝叶斯算法的健壮性比较好,对于不同类型的数据集不会呈现出太大的差异性。当数据集属性之间的关系相对比较独立时,朴素贝叶斯分类算法会有较好的效果。


2.2、缺点


       属性独立性的条件同时也是朴素贝叶斯分类器的不足之处。数据集属性的独立性在很多情况下是很难满足的,因为数据集的属性之间往往都存在着相互关联,如果在分类过程中出现这种问题,会导致分类的效果大大降低。



3、分类模型之DT与NB的比较


       最为广泛的两种分类模型是决策树模型(Decision Tree Model)和朴素贝叶斯模型(Naive Bayesian Model,NBM)。和决策树模型相比,朴素贝叶斯分类器(Naive Bayes Classifier 或 NBC)发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。理论上,NBC模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为NBC模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,这给NBC模型的正确分类带来了一定影响。




朴素贝叶斯Naive Bayesian算法的应用


1、文本分类


       直观的文本分类算法,也是最简单的贝叶斯分类器,具有很好的可解释性,朴素贝叶斯算法特点是假设所有特征的出现相互独立互不影响,每一特征同等重要。但事实上这个假设在现实世界中并不成立:首先,相邻的两个词之间的必然联系,不能独立;其次,对一篇文章来说,其中的某一些代表词就确定它的主题,不需要通读整篇文章、查看所有词。所以需要采用合适的方法进行特征选择,这样朴素贝叶斯分类器才能达到更高的分类效率。




朴素贝叶斯Naive Bayesian算法的经典案例


1、基础案例


ML之NB:(NLP)基于sklearn库利用不同语种数据集训练NB(朴素贝叶斯)算法,对新语种进行语种检测https://yunyaniu.blog.csdn.net/article/details/87652618

ML之NB&LoR:利用NB(朴素贝叶斯)、LoR(逻辑斯蒂回归)算法(+CountVectorizer)对Rotten Tomatoes影评数据集进行文本情感分析—五分类预测https://yunyaniu.blog.csdn.net/article/details/87696356

ML之NB&LoR:利用NB(朴素贝叶斯)、LoR(逻辑斯蒂回归)算法(+TfidfVectorizer)对Rotten Tomatoes影评数据集进行文本情感分析—五分类预测https://yunyaniu.blog.csdn.net/article/details/87707184

ML之NB:基于NB朴素贝叶斯算法训练20类新闻文本数据集进行多分类预测

https://yunyaniu.blog.csdn.net/article/details/87886811