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

贝叶斯分类实例

阅读更多

(1) 朴素贝叶斯算法

  设每个数据样本用一个n维特征向量来描述n个属性的值,即:X={x1,x2,…,xn},假定有m个类,分别用C1, C2,…,Cm表示。给定一个未知的数据样本X(即没有类标号),若朴素贝叶斯分类法将未知的样本X分配给类Ci,则一定是

  P(Ci|X)>P(Cj|X) 1≤j≤m,j≠i

  根据贝叶斯定理

  由于P(X)对于所有类为常数,最大化后验概率P(Ci|X)可转化为最大化先验概率P(X|Ci)P(Ci)。如果训练数据集有许多属性和元组,计算P(X|Ci)的开销可能非常大,为此,通常假设各属性的取值互相独立,这样

  先验概率P(x1|Ci),P(x2|Ci),…,P(xn|Ci)可以从训练数据集求得。

  根据此方法,对一个未知类别的样本X,可以先分别计算出X属于每一个类别Ci的概率P(X|Ci)P(Ci),然后选择其中概率最大的类别作为其类别。

  朴素贝叶斯算法成立的前提是各属性之间互相独立。当数据集满足这种独立性假设时,分类的准确度较高,否则可能较低。另外,该算法没有分类规则输出。

  (2) TAN算法

  TAN算法通过发现属性对之间的依赖关系来降低NB中任意属性之间独立的假设。它是在NB网络结构的基础上增加属性对之间的关联(边)来实现的。

  实现方法是:用结点表示属性,用有向边表示属性之间的依赖关系,把类别属性作为根结点,其余所有属性都作为它的子节点。通常,用虚线代表NB所需的边,用实线代表新增的边。属性Ai与Aj之间的边意味着属性Ai对类别变量C的影响还取决于属性Aj的取值。

  这些增加的边需满足下列条件:类别变量没有双亲结点,每个属性有一个类别变量双亲结点和最多另外一个属性作为其双亲结点。

  找到这组关联边之后,就可以计算一组随机变量的联合概率分布如下:

  其中ΠAi代表的是Ai的双亲结点。由于在TAN算法中考虑了n个属性中(n-1)个两两属性之间的关联性,该算法对属性之间独立性的假设有了一定程度的降低,但是属性之间可能存

  在更多其它的关联性仍没有考虑,因此其适用范围仍然受到限制。

贝叶斯分类 实例

First Step

Find Classes:

      C1: buys_computer = ‘yes’

      C2: buys_computer = ‘no’

 

Second Step

      Find P(C1) and P(C2)

                      P( buys_computer = “yes”)  = 9/14 = 0.643

                      P( buys_computer = “no”) = 5/14= 0.357

 

Third Step

  Compute P (X|C) for each class :

     P (age = “Youth” / buys_computer = “yes”)  = 2/9 = 0.222

     P (age = “Youth” /  buys_computer = “no”) = 3/5 = 0.6

     P (income = “medium” /  buys_computer = “yes”) = 4/9 = 0.444

     P (income = “medium” /  buys_computer = “no”) = 2/5 = 0.4

     P (student = “yes” /  buys_computer = “yes) = 6/9 = 0.667

     P (student = “yes” /  buys_computer = “no”) = 1/5 = 0.2

     P (credit_rating = “fair” /  buys_computer = “yes”) = 6/9 = 0.667

     P (credit_rating = “fair” / buys_computer = “no”) = 2/5 = 0.4

 

Fourth Step .

    Find P(X|Ci) :

 For C1:    Multiply all the probabilities that belong to class “yes”

           P(X|buys_computer = “yes”) = 0.222 x 0.444 x 0.667 x 0.667=.044

Similarly     for “class = no”

          P(X|buys_computer = “no”) = 0.6 x 0.4 x 0.2 x 0.4 = 0.019

 

Finally ,

     find ……  P(X|Ci)*P(Ci) …….  for each class

P(X|buys_computer = “yes”) * P(buys_computer = “yes”) = 0.028

P(X|buys_computer = “no”) * P(buys_computer = “no”) = 0.007

 

参考:

http://www.cnblogs.com/phinecos/archive/2008/10/21/1315948.html

http://summerbell.iteye.com/blog/392459

http://blog.csdn.net/DL88250/archive/2008/02/20/2108164.aspx

http://www.cnblogs.com/waemz/archive/2009/02/25/1397647.html

 

 

分享到:
评论

相关推荐

    贝叶斯分类实例Naive Bayes.zip

    贝叶斯实现言论过滤器、过滤垃圾邮箱、新浪新闻分类

    模式识别-贝叶斯matlab实例_贝叶斯_贝叶斯实例_贝叶斯matlab_模式识别_matlab_

    通过研究这些实例,学习者可以深入理解贝叶斯分类器的工作原理,并学会如何将其应用于实际问题。 总之,模式识别与贝叶斯方法在MATLAB中的结合,提供了一种强大且灵活的工具来处理分类任务。通过对数据的处理、模型...

    贝叶斯分类_iris_python贝叶斯分类iris数据集_

    贝叶斯分类器通过先验概率和条件概率来预测新实例的类别,尤其适合处理高维稀疏数据。在这个案例中,我们将使用Python语言实现贝叶斯分类。 描述中提到的“iris数据集”是机器学习领域一个经典的数据集,由生物学家...

    贝叶斯分类器的matlab实现及案例

    贝叶斯分类器是一种基于概率理论的机器学习方法,它利用贝叶斯定理来预测一个实例属于某个类别的概率。在本案例中,我们关注的是如何在MATLAB环境中实现贝叶斯分类器,并通过“狼来了”的寓言故事来阐述其应用。这个...

    贝叶斯分类器应用实例-matlab

    本实例是关于如何在MATLAB环境下运用贝叶斯分类器来对文章进行分类的实践操作。我们将深入探讨以下几个核心知识点: 1. **贝叶斯分类器**:贝叶斯分类器是一种统计分类技术,它根据先验概率和似然概率计算后验概率...

    贝叶斯算法实例-文本分析

    例如,我们可以根据这些文本的特点(如车型名称、价格等),训练一个贝叶斯分类器,用于自动识别类似的汽车广告信息。 ##### 5. 特征选择 在实际应用中,有效的特征选择对于提高分类准确率至关重要。常见的特征选择...

    python朴素贝叶斯分类

    然后选择合适的朴素贝叶斯分类器实例化,如`GaussianNB()`、`MultinomialNB()`或`BernoulliNB()`。接着,使用`fit()`方法训练模型,最后用`predict()`方法进行预测。 ```python from sklearn.naive_bayes import ...

    贝叶斯分类器 学习讲义

    贝叶斯分类器是一种基于概率理论的统计分类方法,它利用贝叶斯定理来预测数据的分类。贝叶斯定理在概率论中是关于随机事件A和B的条件概率和边缘概率的一个定理,反映了事件B发生的条件下事件A发生的概率。其表达式为...

    贝叶斯分类器介绍ppt

    在机器学习中,贝叶斯分类器利用贝叶斯定理来预测新实例属于某一类别的概率。它假设特征之间相互独立,并且根据先验知识(训练数据)来估计这些特征的概率分布。分类过程通常包括以下步骤: 1. **特征选择**:确定...

    机器学习西瓜分类贝叶斯算法实例详解

    机器学习-贝叶斯-西瓜分类 对代码的每一行进行了注解,适合初学者使用,主要代码来源是百度ai社区,只是对其进行了注解

    机器学习 naive 贝叶斯分类器实现 (附原始matlab代码和数据集)

    训练此类分类器的算法不是单一的,而是基于共同原则的一系列算法:所有朴素贝叶斯分类器都假设特定特征的值独立于任何其他特征的值,给定类变量。例如,如果一个水果是红色的、圆形的、直径约 10 厘米,则可以认为它...

    【python代码实现】决策树分类算法、朴素贝叶斯分类算法以及人工神经网络分类算法的代码及数据

    资源中包括决策树分类算法、朴素贝叶斯分类算法、人工神经网络分类算法的代码(.ipynb,.py)和案例股票价格波动分析的数据(.csv),建议使用jupyter notebook打开.ipynb文件,体验更佳 1、资源配合博文《【python...

    朴素贝叶斯分类Iris数据

    在这个实例中,我们将探讨如何使用朴素贝叶斯分类器处理Iris数据集。 Iris数据集是一个经典的数据集,由生物学家Ronald Fisher于1936年收集,包含三种鸢尾花(Setosa、Versicolour和Virginica)的4个特征:萼片长度...

    贝叶斯分类器(java)

    【标题】:“贝叶斯分类器(java)” 在信息技术领域,贝叶斯分类器是一种基于概率统计理论的机器学习算法,它利用贝叶斯定理进行预测分析。本项目提供了一个用Java语言实现的简单贝叶斯分类器,旨在帮助开发者理解...

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

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

    BeyesClassify_iris_贝叶斯分类器_BeyesIrisMatlab_

    总之,"BeyesClassify_iris_贝叶斯分类器_BeyesIrisMatlab_"项目提供了一个实际应用贝叶斯分类器的实例,通过Matlab代码解释了如何处理和分析鸢尾花数据,展示了机器学习分类任务的基本步骤。通过理解和运行这个项目...

    朴素贝叶斯分类器

    朴素贝叶斯分类器是一种基于概率理论的监督学习方法,广泛应用于数据挖掘和机器学习领域。它的核心思想是利用贝叶斯定理来预测未知类别的数据实例属于哪个类别。贝叶斯定理是一个在概率论中用于计算条件概率的重要...

    模式识别实验贝叶斯分类器

    具体来说,给定一个实例x,贝叶斯分类器会计算x属于每个类别C的概率P(C),以及x在类别C下出现的条件概率P(x|C),然后将实例分配到具有最高后验概率的类别。 在这个实验中,我们可能会遇到以下几个核心知识点: 1. ...

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

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

    用C#开发贝叶斯分类器

    **标题:“用C#开发贝叶斯分类器”** 在信息技术领域,开发一个贝叶斯分类器是一项重要的任务,尤其适用于文本分类、垃圾邮件过滤、情感分析等多种应用场景。本项目以C#作为开发语言,旨在为初学者提供一个理解并...

Global site tag (gtag.js) - Google Analytics