多语言展示
当前在线:641今日阅读:113今日分享:31

五步学会朴素贝叶斯算法(Python版)

贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类方法。小编将通过五个步骤带领你学习朴素贝叶斯算法。
工具/原料
1

python

2

windows

方法/步骤
1

什么是朴素贝叶斯算法:朴素贝叶斯算法是一种基于贝叶斯定理的分类技术,假设在预测变量之间具有独立性。给定一个水果,如果水果是黄色的,圆形的,直径约30厘米,则可以认为它是橘子。即使对于橘子描述的这些特征彼此依赖或依赖于其他特征的存在,但所有的这些特征都促成了这个水果是橘子的可能性,这就是它被称为“朴素”的原因。朴素贝叶斯模型易于构建,特别适用于非常大的数据集。贝叶斯定理提供了一种从P(c),P(x)和P(x | c)计算后验概率P(c | x)的方法。简单来说,贝叶斯定理是基于假设的先验概率、给定假设下观察到不同数据的概率,提供了一种计算后验概率的方法(计算公式如下图所示)。

2

朴素贝叶斯算法如何工作:让我们用一个例子来理解它。下面有一个关于天气和空气质量的训练数据集(图1),根据天气记录的空气质量的好坏。现在,我们需要根据天气情况对空气质量的好坏进行分类。     第1步:将数据集转换为频率表。     第2步:通过找到阴天概率= 0.28和空气质量好概率为0.64的概率来创建似然表。    第3步:现在,使用朴素贝叶斯方程计算每个类的后验概率。具有最高后验概率的类是预测的结果。  问题:如果天气晴朗,空气质量会是好。这个陈述是正确的吗?我们可以使用上面讨论的后验概率方法来解决它。结论:从下图数据(图2)可以得出,天气晴朗空气质量好具有更高的概率。 NaiveBayes使用类似的方法根据各种属性预测不同类别的概率。该算法主要用于文本分类,并且具有多个类的问题。

3

朴素贝叶斯的优点和缺点:优点:    1)预测测试数据集很容易也很快,在多类预测中表现良好。    2)算法简单,常用于文本分类。    3)朴素贝叶斯模型有稳定的分类效率。    4)适合增量式训练,尤其是数据量超出内存时,可以一批批的去增量训练。缺点:    1)如果分类变量具有在训练数据集中未观察到的类别,则模型将指定0(零)概率并且将无法进行预测。    2)独立预测因子的假设无法实现,我们几乎不可能得到一组完全独立的预测变量。     3)需要知道先验概率,且先验概率很多时候取决于假设。     4)通过先验和数据来决定后验的概率从而决定分类,所以分类决策存在一定的错误率。     5)对输入数据的表达形式很敏感

4

朴素贝叶斯算法的应用:-实时预测朴素贝叶斯是一个非常快速的学习分类器,因此,它可以用于实时预测。 -多类预测 可以预测多类目标变量的概率。 -文本分类/垃圾邮件过滤/情感分析 朴素贝叶斯分类器对于多类问题和独立性规则具有更高的成功率,因此,它被广泛用于文本分类、垃圾邮件过滤和情感分析。 -推荐系统  朴素贝叶斯分类器和协同过滤一起构建一个推荐系统,这有助于预测用户是否愿意提供资源。

5

在Python中使用Naive Bayes构建基本模型:同样,scikit learn(python库)将帮助在这里用Python构建Naive Bayes模型。在scikit学习库下有三种类型的朴素贝叶斯模型:-高斯模型 它用于分类,假设特征属于某个类别的观测值符合高斯分布。在处理连续的特征变量时,采用高斯模型。 -多项式模型 用于离散计数。例如,假设我们有文本分类问题。在这里我们可以考虑更进一步的bernoulli试验,而不是“在文档中出现的单词”,我们“计算文档中出现单词的频率”,你可以将其视为“观察到结果数x_i的次数”超过n次试验“。 -伯努利模型 与多项式模型一样,伯努利模型适用于离散特征的情况,所不同的是,伯努利模型中每个特征的取值只能是1和0(以文本分类为例,某个单词在文档中出现过,则其特征值为1,否则为0).  根据你的数据集,您可以选择上面讨论的任何模型。以下是高斯模型的示例。

6

以上就是学习朴素贝叶斯的五个简单步骤,现在就开始学习吧!

推荐信息