`
liyonghui160com
  • 浏览: 775764 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

朴素贝叶斯分类器

阅读更多

 

朴素贝叶斯分类器基于统计的分类器

一、病人分类的例子

让我从一个例子开始讲起,你会看到贝叶斯分类器很好懂,一点都不难。

某个医院早上收了六个门诊病人,如下表。

      症状  职业   疾病

      打喷嚏 护士   感冒
      打喷嚏 农夫   过敏
      头痛  建筑工人 脑震荡
      头痛  建筑工人 感冒
      打喷嚏 教师   感冒
      头痛  教师   脑震荡

现在又来了第七个病人,是一个打喷嚏的建筑工人。请问他患上感冒的概率有多大?

根据贝叶斯定理:

     P(A|B) = P(B|A) P(A) / P(B)

可得

       P(感冒|打喷嚏x建筑工人)
        = P(打喷嚏x建筑工人|感冒) x P(感冒)
        / P(打喷嚏x建筑工人)

假定"打喷嚏"和"建筑工人"这两个特征是独立的,因此,上面的等式就变成了

       P(感冒|打喷嚏x建筑工人)
        = P(打喷嚏|感冒) x P(建筑工人|感冒) x P(感冒)
        / P(打喷嚏) x P(建筑工人)

这是可以计算的。

      P(感冒|打喷嚏x建筑工人)
        = 0.66 x 0.33 x 0.5 / 0.5 x 0.33
        = 0.66

因此,这个打喷嚏的建筑工人,有66%的概率是得了感冒。同理,可以计算这个病人患上过敏或脑震荡的概率。比较这几个概率,就可以知道他最可能得什么病。

这就是贝叶斯分类器的基本方法:在统计资料的基础上,依据某些特征,计算各个类别的概率,从而实现分类。

二、朴素贝叶斯分类器的公式

假设某个体有n项特征(Feature),分别为F1、F2、...、Fn。现有m个类别(Category),分别为C1、C2、...、Cm。贝叶斯分类器就是计算出概率最大的那个分类,也就是求下面这个算式的最大值:

     P(C|F1F2...Fn)
      = P(F1F2...Fn|C)P(C) / P(F1F2...Fn)

由于 P(F1F2...Fn) 对于所有的类别都是相同的,可以省略,问题就变成了求

     P(F1F2...Fn|C)P(C)

的最大值。

朴素贝叶斯分类器则是更进一步,假设所有特征都彼此独立,因此

     P(F1F2...Fn|C)P(C)
      = P(F1|C)P(F2|C) ... P(Fn|C)P(C)

上式等号右边的每一项,都可以从统计资料中得到,由此就可以计算出每个类别对应的概率,从而找出最大概率的那个类。

虽然"所有特征彼此独立"这个假设,在现实中不太可能成立,但是它可以大大简化计算,而且有研究表明对分类结果的准确性影响不大。

分享到:
评论

相关推荐

    朴素贝叶斯分类器算法

    朴素贝叶斯分类器是一种基于概率的机器学习算法,它基于贝叶斯定理和特征条件独立假设。在"朴素贝叶斯分类器算法"中,我们主要关注以下几个知识点: 1. **贝叶斯定理**:贝叶斯定理是统计学中的一个重要概念,用于...

    人工智能-项目实践-朴素贝叶斯分类器-朴素贝叶斯文本分类器

    人工智能_项目实践_朴素贝叶斯分类器_朴素贝叶斯文本分类器 **数据:**搜狗文本分类语料库 **分类器:**朴素贝叶斯分类器 NBC(Naive Bayesian Classifier) **编程语言:**Python+jieba分词库+nltk+sklearn

    基于hadoop的朴素贝叶斯分类器

    朴素贝叶斯分类器是一种基于概率的机器学习算法,它基于贝叶斯定理和特征条件独立假设。在大数据处理领域,结合Hadoop框架可以实现大规模数据集的分类任务。Hadoop是一个开源分布式计算框架,它允许在大量廉价硬件上...

    论文研究-朴素贝叶斯分类器的构建 .pdf

    朴素贝叶斯分类器是一种基于贝叶斯定理的概率分类方法,它简单且易于实现,广泛应用于文本分类、垃圾邮件过滤、情感分析等众多领域。朴素贝叶斯分类器的核心是基于属性条件独立的假设,即一个属性的出现不影响其他...

    基于朴素贝叶斯分类器的文本分类算法

    朴素贝叶斯分类器是一种基于概率的机器学习方法,它在文本分类领域有着广泛的应用。该模型基于贝叶斯定理,并且通过“朴素”这一假设来简化计算,即假设特征之间是相互独立的。这一假设使得朴素贝叶斯分类器能够高效...

    C++实现朴素贝叶斯分类器

    朴素贝叶斯分类器是一种基于概率的机器学习算法,它基于贝叶斯定理和特征条件独立假设。在C++中实现朴素贝叶斯分类器,可以为各种数据分类任务提供一个高效且易于理解的解决方案。 首先,我们需要理解贝叶斯定理。...

    朴素贝叶斯分类器(python版)

    朴素贝叶斯分类器是一种基于概率的机器学习算法,它基于贝叶斯定理和特征条件独立假设。在Python中实现朴素贝叶斯分类器,我们可以利用常见的数据分析库,如NumPy、Pandas以及Scikit-learn。在这个压缩包中,有两个...

    朴素贝叶斯分类器(Matlab代码)

    朴素贝叶斯分类器是一种基于概率的机器学习算法,它基于贝叶斯定理和特征条件独立假设。在本项目中,"朴素贝叶斯分类器(Matlab代码)" 提供了一个非官方的实现,由作者亲自编写,并且包含了测试模块,这使得学习者...

    MATLAB中的朴素贝叶斯分类器matlab.7z

    标题 "MATLAB中的朴素贝叶斯分类器matlab.7z" 涉及到的主要知识点是关于在MATLAB环境中实现朴素贝叶斯分类器。MATLAB是一种强大的数学计算和编程环境,常用于数据分析、算法开发和模型创建。朴素贝叶斯分类器则是一...

    朴素贝叶斯分类器(离散).rar

    朴素贝叶斯分类器是一种基于概率的机器学习算法,它源于贝叶斯定理和特征条件独立假设。在本项目中,我们关注的是离散型朴素贝叶斯分类器,这意味着输入特征变量都是离散的,如二元(是/否)或计数数据。这种分类器...

    Python-一个实现朴素贝叶斯分类器简单的Python库

    **Python中的朴素贝叶斯分类器** 朴素贝叶斯分类器是一种基于概率的监督学习算法,广泛应用于文本分类、垃圾邮件检测、情感分析等领域。在Python中,有多个库提供了朴素贝叶斯分类器的实现,如`sklearn`、`numpy`、...

    朴素贝叶斯分类器-人脸识别方面的

    朴素贝叶斯分类器是一种基于概率的机器学习方法,它在人脸识别领域有着广泛的应用。该算法的核心思想是假设特征之间相互独立,并且每个特征对类别都有独立的影响。在这个项目中,我们将探讨如何利用朴素贝叶斯分类器...

    朴素贝叶斯分类器(MATLAB源代码)

    朴素贝叶斯分类器 MATLAB 源代码,里面含有使用实例,用的是 UCI 的 mushroom 数据集。 分类器详细介绍见: http://blog.csdn.net/yunduanmuxue/article/details/39693917

    朴素贝叶斯分类器,用于识别手写的数字A~J

    朴素贝叶斯分类器是一种基于概率的机器学习算法,它在数据分类中有着广泛的应用,尤其是在文本分类、垃圾邮件过滤和图像识别等领域。这个特定的案例是针对手写数字的识别,目标是从A到J这10个字符进行区分。 在手写...

    基于机器学习的朴素贝叶斯分类器C++

    朴素贝叶斯分类器是一种基于概率的机器学习算法,它在C++中实现可以提供高效且灵活的分类功能。这个项目的核心是利用朴素贝叶斯理论来预测未知数据的类别,这种理论假设特征之间相互独立,这使得计算变得更加简单。 ...

    Spring-Boot集成Neo4j并利用Spark的朴素贝叶斯分类器实现基于电影知识图谱的智能问答系统

    在构建智能问答系统时,将Spring-Boot与Neo4j数据库和Spark的朴素贝叶斯分类器相结合是一种高效的方法,特别是在处理与电影相关的知识图谱数据时。以下将详细阐述这个系统的组成部分及其工作原理。 首先,Spring-...

    C++编写的朴素贝叶斯分类器跟k-means聚类

    在机器学习领域,朴素贝叶斯分类器和k-means聚类是两种广泛使用的算法,分别应用于分类和无监督学习任务。本项目采用C++语言实现了这两种算法,为学习者提供了一个直观的实践平台,特别是在Linux环境下运行效果更佳...

Global site tag (gtag.js) - Google Analytics