美文网首页
分类算法 - 朴素贝叶斯算法

分类算法 - 朴素贝叶斯算法

作者: dora_yip | 来源:发表于2021-02-16 15:37 被阅读0次
    一、贝叶斯原理

    相信很多同学在高中或者大学的时候都学过贝叶斯原理,即条件原理。


    image.png
    例题:

    现分别有 A、B 两个容器,在容器 A 里分别有 7 个红球和 3 个白球,在容器 B 里有 1 个红球和 9 个白球,现已知从这两个容器里任意抽出了一个红球,问这个球来自容器 A 的概率是多少?

    答:

    假设已经抽出红球为事件 B,选中容器 A 为事件 A,则有:P(B) = 8/20,P(A) = 1/2,P(B|A) = 7/10,按照公式,则有:P(A|B) = (7/10)*(1/2) / (8/20) = 0.875

    二、朴素贝叶斯

    之所以称为朴素贝叶斯,是因为它假设每个输入变量是独立的。现实生活中这种情况基本不满足,但是这项技术对于绝大部分的复杂问题仍然非常有效。

    朴素贝叶斯模型由两种类型的概率组成:
    1、每个类别的概率P(Cj);
    2、每个属性的条件概率P(Ai|Cj)。

    为了训练朴素贝叶斯模型,我们需要先给出训练数据,以及这些数据对应的分类。那么上面这两个概率,也就是类别概率和条件概率。他们都可以从给出的训练数据中计算出来。一旦计算出来,概率模型就可以使用贝叶斯原理对新数据进行预测。

    贝叶斯原理、贝叶斯分类和朴素贝叶斯这三者之间是有区别的
    贝叶斯原理是最大的概念,它解决了概率论中“逆向概率”的问题,在这个理论基础上,人们设计出了贝叶斯分类器,朴素贝叶斯分类是贝叶斯分类器中的一种,也是最简单,最常用的分类器。朴素贝叶斯之所以朴素是因为它假设属性是相互独立的,因此对实际情况有所约束,如果属性之间存在关联,分类准确率会降低。

    三、朴素贝叶斯算法的优缺点
    1、优点:

    (1) 算法逻辑简单,易于实现
    (2)分类过程中时空开销小(假设特征相互独立,只会涉及到二维存储)

    2、缺点:

    (1)理论上,朴素贝叶斯模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为朴素贝叶斯模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,在属性个数比较多或者属性之间相关性较大时,分类效果不好。
    (2)在属性相关性较小时,朴素贝叶斯性能最为良好。对于这一点,有半朴素贝叶斯之类的算法通过考虑部分关联性适度改进。

    朴素贝叶斯分类常用于文本分类,尤其是对于英文等语言来说,分类效果很好。它常用于垃圾文本过滤、情感预测、推荐系统等。

    四、scikit-learn 朴素贝叶斯类库

    库有3种算法:GaussianNB、MultinomialNB和BernoulliNB。
    这三个类适用的分类场景各不相同,主要根据数据类型来进行模型的选择。一般来说,如果样本特征的分布大部分是连续值,使用GaussianNB会比较好。如果如果样本特征的分大部分是多元离散值,使用MultinomialNB比较合适。而如果样本特征是二元离散值或者很稀疏的多元离散值,应该使用BernoulliNB。

    相关文章

      网友评论

          本文标题:分类算法 - 朴素贝叶斯算法

          本文链接:https://www.haomeiwen.com/subject/qaawtltx.html