简单朴素贝叶斯分类器的思想与算法分析
- 格式:doc
- 大小:202.50 KB
- 文档页数:22
导读: 如果有一天,我们知道的统计规律和现实生活发生了冲突,又或者前人的经验不符合亲身经历,那么该怎么办?面对经验与现实的矛盾,我们需要一种应对方案。
作者:徐晟 来源:大数据DT(ID:hzdashuju)假设你正在玩抛硬币猜正反的游戏。
游戏看上去很公平,没有人在干预硬币结果,硬币看上去也像是普通的硬币。
对于即将开始的下一局,请问你该如何下注?理论上讲,硬币在落地后得到正面和反面的概率是一样的,所以你可以随便猜,总会猜对一半。
但那毕竟是理论,你无法确保眼前的这枚硬币也是如此。
更何况,你无法提前抛足够多次这枚硬币,来验证你的假设。
那该用怎样的下注策略呢?答案是 根据历史信息来决定。
比方说,已经抛了10次硬币,其中有8次正面朝上。
就是说通过10次实践,硬币正面朝上的概率是80%。
虽然这个概率和它的理论值(50%)比可能有偏差,但它仍然是下注的重要参考。
如果还有第11次抛硬币,你就应该去猜正面朝上。
更极端点,如果硬币扔了一亿次都是正面朝上,那下一次反面朝上的概率是多少?我们能否坚信它是一枚特殊硬币呢?不能。
虽然下一次硬币反面朝上的概率无限接近于零,但它不等于零。
只要没有对硬币做出更进一步的确认,无论扔多少次,我们都无法排除反面朝上这个选项,只能无限降低对它的可能性的预期。
大部分人都是根据历史经验不断修正自己的认知。
毕竟我们不是先知,不能提前知道所有事件发生的概率。
这种思考方式具有现实意义, 它背后的数学原理是贝叶斯定理。
01 什么是贝叶斯定理预测在生活中必不可少,比如决定是否购买更多的股票、预测某个球队是否获胜、确定下个月是否外出旅游等。
要做出准确的预测,不仅需要得到某个事件发生概率的理论值,还要结合实际经验做出合理判断。
换句话说,人对某一事件未来会发生的认知,大多取决于该事件或类似事件过去发生的频率。
这就是贝叶斯定理的数学模型,它最早由数学家托马斯·贝叶斯提出。
贝叶斯生活在18世纪,他的本职工作是一位英格兰长老会的牧师。
朴素贝叶斯算法公式朴素贝叶斯算法公式,听起来是不是有点让人头大?但别怕,咱们一起来把它弄明白。
先来说说什么是朴素贝叶斯算法。
这就好比我们在生活中做判断,根据以往的经验来猜测接下来会发生什么。
比如说,你发现每次下雨前天上都会有很多乌云,那下次看到满天乌云的时候,你就会猜可能要下雨啦。
朴素贝叶斯算法也是这个道理,它根据已知的数据和条件来推测未知的结果。
那朴素贝叶斯算法的公式到底是啥呢?咱们来看这个式子:P(C|X)= P(X|C) * P(C) / P(X) 。
别被这一串字母吓到,咱们一个一个来解释。
P(C) 呢,就像是你事先知道某个事情发生的可能性有多大。
比如说,在一个班级里,男生占 60%,女生占 40%,这就是 P(C) 。
P(X) 呢,就像是所有可能出现的情况。
比如说,一个盒子里有红、蓝、绿三种颜色的球,这就是 P(X) 。
P(X|C) 就有点意思啦。
还是拿班级举例,假如男生喜欢打篮球的概率是 80%,这就是 P(X|C) 。
最后说 P(C|X) ,这就是我们最终想要知道的结果。
比如说,看到一个人在打篮球,猜猜这个人是男生的概率有多大,这就是 P(C|X) 。
我记得之前有一次,我们学校组织了一场趣味数学竞赛。
题目就是让我们用朴素贝叶斯算法来推测某个结果。
当时我们小组拿到的题目是,根据同学们平时的阅读习惯来推测他们喜欢哪种类型的书籍。
我们先统计了大家平时读小说、传记、科普等不同类型书籍的频率,这就相当于算出了 P(C) 。
然后又观察了不同类型书籍的一些特点,比如小说情节丰富,传记比较真实等等,这就算是找出了 P(X|C) 。
最后通过公式计算,成功推测出了同学们对不同类型书籍的喜好概率。
总之,朴素贝叶斯算法公式虽然看起来有点复杂,但只要我们多去理解,多结合实际的例子,就能慢慢掌握它的精髓。
不管是在学习中还是生活里,它都能帮助我们做出更准确的判断和预测呢!。
通俗地理解贝叶斯公式(定理)朴素贝叶斯(Naive Bayesian algorithm)是有监督学习的一种分类算法,它基于“贝叶斯定理”实现,该原理的提出人是英国著名数学家托马斯·贝叶斯。
贝叶斯定理是基于概率论和统计学的相关知识实现的,因此在正式学习“朴素贝叶斯算法”前,我们有必要先认识“贝叶斯定理”。
贝叶斯定理贝叶斯定理的发明者托马斯·贝叶斯提出了一个很有意思的假设:“如果一个袋子中共有 10 个球,分别是黑球和白球,但是我们不知道它们之间的比例是怎么样的,现在,仅通过摸出的球的颜色,是否能判断出袋子里面黑白球的比例?”上述问题可能与我们高中时期所接受的的概率有所冲突,因为你所接触的概率问题可能是这样的:“一个袋子里面有 10 个球,其中 4 个黑球,6 个白球,如果你随机抓取一个球,那么是黑球的概率是多少?”毫无疑问,答案是 0.4。
这个问题非常简单,因为我们事先知道了袋子里面黑球和白球的比例,所以很容易算出摸一个球的概率,但是在某些复杂情况下,我们无法得知“比例”,此时就引出了贝叶斯提出的问题。
在统计学中有两个较大的分支:一个是“频率”,另一个便是“贝叶斯”,它们都有各自庞大的知识体系,而“贝叶斯”主要利用了“相关性”一词。
下面以通俗易懂的方式描述一下“贝叶斯定理”:通常,事件 A 在事件 B 发生的条件下与事件 B 在事件 A 发生的条件下,它们两者的概率并不相同,但是它们两者之间存在一定的相关性,并具有以下公式(称之为“贝叶斯公式”):看到上述公式,你可能一头雾水,不过不必慌张,下面我们来了解一下“贝叶斯”公式。
符号意义首先我们要了解上述公式中符号的意义:•P(A) 这是概率中最基本的符号,表示A 出现的概率。
比如在投掷骰子时,P(2) 指的是骰子出现数字“2”的概率,这个概率是六分之一。
•P(B|A) 是条件概率的符号,表示事件A 发生的条件下,事件B 发生的概率,条件概率是“贝叶斯公式”的关键所在,它也被称为“似然度”。
贝叶斯分类1、 定义: 依据贝叶斯准则(两组间最大分离原则)建立的判别函数集进行的图像 分类。
贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝 叶斯分类。
2、 贝叶斯定理:p(B|A) = P (A| B )P (B )P(A)说明:p(A|B)表示事件B 发生的前提下,事件A 发生的概率;p(A)表示事件A 发生的概率;p(B)事件B 发生的概率。
则可以求得事件 A 发生的前提下,事件B 发生的概率。
贝叶斯定理给出了最小化误差的最优解决方法,可用于分类和预测。
将前面贝叶斯公式变化如下:P(x) P(c)xP(x) P(x)上述公式中,C 代表类别,X 代表特征,很明显,我们做出预测肯定是利用当 前的特征,来判断输出的类别。
当然这里也可以很明显的看到贝叶斯公式先验与后 验概率之间的转换,很明显,P(c|x)在我们的定义里面是后验概率,也是我们想要 得到的东西。
而P(x)、P(c)以及P(x|c)都是先验概率,它们分别 X 特征出现的概 率,C 类出现的概率,C 类中,出现X 的概率。
而第一项对于多类分类来说,都是一 样,都是当前观察到的特征,所以此项可以略去。
那最终的结果就是计算P(x|c)*P(c) 这一项,P (c )是可以通过观察来解决的。
重点也就全部落在了 P(x|c)上,上面对 于此项的解释是在C 类中,X 特征出现的概率,其实简单来讲,就是 X 的概率密度。
3、特点1)o 贝叶斯分类并不是把一个对象绝对地指派给某一类, 而是通过计算得出属于某一类的概率。
具有最大概率的类便是该对象所属的类。
2) o 一般情况下在贝叶斯分 类中所有的属性都潜在的起作用,即并不是一个或几个属性决定分类,而是所有的 属性都参与分类。
3)贝叶斯分类的属性可以是离散的、连续的、也可以是混合的。
4、分类:(1)朴素贝叶斯算法。
⑵TAN 算法1)朴素贝叶斯算法成立的前提是各属性之间互相独立。
贝叶斯算法原理贝叶斯算法是一种基于概率统计理论的分类方法,它的核心思想是利用已知的样本数据来计算待分类样本属于某个类别的概率。
在机器学习和数据挖掘领域,贝叶斯算法被广泛应用于文本分类、垃圾邮件过滤、情感分析等任务中,具有较好的分类性能和鲁棒性。
本文将从贝叶斯算法的原理、应用和优缺点等方面进行介绍。
贝叶斯算法的原理。
贝叶斯算法基于贝叶斯定理,通过已知的先验概率和样本数据的条件概率来计算后验概率,从而实现分类任务。
在分类问题中,我们需要将待分类的样本分到不同的类别中,而贝叶斯算法就是利用样本的特征和类别之间的关系来进行分类的。
具体来说,对于给定的样本特征X和类别Y,贝叶斯算法通过计算后验概率P(Y|X)来确定样本属于某个类别的概率。
而P(Y|X)可以根据贝叶斯定理表示为:P(Y|X) = P(X|Y) P(Y) / P(X)。
其中,P(X|Y)表示在类别Y下样本特征X的条件概率,P(Y)表示类别Y的先验概率,P(X)表示样本特征X的先验概率。
通过比较不同类别下的后验概率,我们可以将样本分到概率最大的类别中,从而实现分类。
贝叶斯算法的应用。
贝叶斯算法在文本分类、垃圾邮件过滤、情感分析等任务中有着广泛的应用。
在文本分类中,我们可以利用贝叶斯算法来对文本进行分类,如将新闻文章分为政治、经济、娱乐等类别。
在垃圾邮件过滤中,我们可以利用贝叶斯算法来判断邮件是否为垃圾邮件,从而提高邮件过滤的准确性。
在情感分析中,我们可以利用贝叶斯算法来分析文本中的情感倾向,如判断评论是正面的还是负面的。
贝叶斯算法的优缺点。
贝叶斯算法具有较好的分类性能和鲁棒性,但也存在一些缺点。
其优点主要包括:1. 算法简单,易于实现。
贝叶斯算法基于概率统计理论,计算过程相对简单,易于实现和理解。
2. 对小样本数据效果较好。
贝叶斯算法能够有效利用已知的样本数据,对小样本数据的分类效果较好。
3. 对噪声数据具有较强的鲁棒性。
贝叶斯算法能够通过概率计算来降低噪声数据的影响,具有较强的鲁棒性。
朴素贝叶斯算法案例一、背景介绍朴素贝叶斯算法是一种基于贝叶斯定理的分类算法,它假设特征之间是相互独立的,因此被称为“朴素”。
该算法在文本分类、垃圾邮件过滤等领域有广泛应用。
二、案例描述某公司想通过分析客户的购买行为进行精准营销,他们搜集了1000个客户的购买记录和个人信息,并标注了是否购买了目标产品。
现在他们想通过这些数据来预测一个新客户是否会购买目标产品。
三、数据预处理1. 数据清洗:去除无效数据和重复数据。
2. 特征选择:选择与目标产品相关的特征,如年龄、性别、职业等。
3. 特征编码:将离散型特征进行one-hot编码,将连续型特征进行归一化处理。
四、模型训练1. 数据划分:将数据集按照7:3的比例分为训练集和测试集。
2. 模型选择:选择朴素贝叶斯算法进行分类。
3. 模型训练:使用训练集对模型进行训练。
五、模型评估1. 准确率:在测试集上计算模型的准确率。
2. 精确率和召回率:计算模型的精确率和召回率,以评估分类效果。
六、结果分析1. 准确率:模型在测试集上的准确率为85%。
2. 精确率和召回率:模型的精确率为90%,召回率为80%。
3. 特征重要性分析:通过计算每个特征对分类结果的贡献度,可以得出不同特征对分类结果的影响程度。
七、应用场景1. 电商推荐系统:通过分析用户购买行为,预测用户是否会购买某个商品,从而进行个性化推荐。
2. 垃圾邮件过滤:通过分析邮件内容和发件人等信息,预测邮件是否是垃圾邮件,并进行过滤。
3. 情感分析:通过分析文本中的情感词汇和语气等信息,预测文本所表达的情感。
八、总结朴素贝叶斯算法是一种简单而有效的分类算法,在文本分类、垃圾邮件过滤等领域有广泛应用。
在实际应用中,需要根据具体问题选择合适的特征,并进行数据预处理和模型评估,以提高分类效果。
朴素贝叶斯分类算法python代码朴素贝叶斯分类算法是一种基于概率的统计分类算法,该算法的主要实现思想是对预测对象进行特征提取、概率计算和分类判断,以实现对对象的分类识别。
本文将重点介绍朴素贝叶斯分类算法在Python中的应用与实现,以帮助读者更好地理解该算法。
首先,我们需要了解Bayes理论,在Bayes理论中,条件概率是指在已知某些条件的情况下,某一事件发生的概率。
朴素贝叶斯分类算法是基于该理论的,以此为基础,实现了对预测对象的分类。
具体来说,朴素贝叶斯分类算法的过程如下:1. 建立分类模型:在统计学习中,首先需要建立一种分类模型,这种模型在朴素贝叶斯分类算法中是基于特征集的贝叶斯定理来定义的。
2. 提取特征:在对预测对象进行分类前,需要先对对象进行特征提取,将其转化为数值型特征,以便后续计算分析。
常用的特征提取方法包括文本处理技术、特征选择等。
3. 计算概率:得到特征集后,基于该特征集进行预测。
可以利用训练集中的概率分布计算当前对象的概率分布。
其中,朴素贝叶斯分类算法中的“朴素”指假设特征之间是独立的,即每个特征对目标类别的影响是相互独立的,这使得计算概率分布更为简单和快速。
4. 进行分类:根据最大化概率的准则,将对象分类到概率最高的类别中。
例如,若某对象概率最高的类别为“正常”,则将该对象分类到“正常”类别中。
在Python中,可以借助于sklearn包来实现朴素贝叶斯分类算法。
下面进行一些示例代码来对其进行解释:''' import numpy as np from sklearn.naive_bayes import GaussianNB from sklearn.model_selection import train_test_split from sklearn import datasets# 读取iris数据集 iris = datasets.load_iris() X = iris.data y = iris.target# 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3) # 建立高斯朴素贝叶斯分类器 gnb = GaussianNB() gnb.fit(X_train, y_train) # 训练模型# 对测试集进行预测 y_pred = gnb.predict(X_test)# 输出结果 print('Accuracy:', np.sum(y_pred == y_test) / len(y_test)) '''这段代码演示了如何使用sklearn包中的高斯朴素贝叶斯分类器进行分类。
朴素贝叶斯算法泰坦尼克朴素贝叶斯算法是一种常用的机器学习算法,它基于贝叶斯定理和特征之间的条件独立性假设,用于分类和回归问题。
在本文中,我们将以泰坦尼克号数据集为例,介绍朴素贝叶斯算法的基本原理、实现方法以及在泰坦尼克号数据集上的应用。
泰坦尼克号数据集是一个经典的分类问题数据集,包含了泰坦尼克号上乘客的相关信息,如姓名、性别、年龄、船票等级、船票价格、家庭亲属数量、登船港口等,以及是否生还的标签。
我们的目标是基于乘客的信息预测其是否生还。
首先,让我们简单介绍一下朴素贝叶斯算法的基本原理。
朴素贝叶斯算法的核心思想是根据已知的数据集,计算出不同类别的概率分布,然后利用贝叶斯定理来计算出给定特征值情况下属于某一类别的概率。
朴素贝叶斯算法的优势在于其简单、快速、高效,特别适用于处理大规模数据集。
朴素贝叶斯算法的实现方法有多种,其中包括高斯朴素贝叶斯、多项式朴素贝叶斯、伯努利朴素贝叶斯等。
在本文中,我们将以高斯朴素贝叶斯为例,介绍其在泰坦尼克号数据集上的应用。
在使用朴素贝叶斯算法之前,我们首先需要对数据集进行预处理,包括数据清洗、特征提取、特征选择、特征转换等。
在泰坦尼克号数据集中,我们可以将乘客的信息包括性别、年龄、船票等级、船票价格、家庭亲属数量、登船港口等作为特征,而乘客是否生还作为标签。
接下来,我们可以使用高斯朴素贝叶斯算法对数据集进行训练和预测。
训练过程中,我们需要对每个特征的概率分布进行估计,以及不同类别的概率。
在泰坦尼克号数据集中,我们可以根据生还与否将数据集分为两类,然后计算出每个特征在不同类别下的概率分布。
最后,根据贝叶斯定理,我们可以计算出给定特征情况下乘客生还与否的概率。
在得到模型之后,我们可以使用测试集对模型进行验证,并计算出模型的准确率、精确率、召回率等指标。
通过这些指标,我们可以评估模型的性能,并对模型进行调优。
朴素贝叶斯算法在泰坦尼克号数据集上的应用,可以帮助我们预测乘客是否生还,从而为救援工作提供参考。
简单朴素贝叶斯分类器的思想与算法分析 1 简单朴素贝叶斯分类器的思想与算法分析 在数据仓库和数据挖掘应用中,分类是一种非常重要的方法.分类的概念是在已有数据的基础上学会一个分类函数或构造出一个分类模型,即我们通常所说的分类器(Classifier).该函数或模型能够把数据集合中的数据记录映射到给定类别中的某一个值,从而可以应用于数据预测.目前,分类的主要算法有贝叶斯算法、决策树算法(如ID3、C4.5等)、规则推导、人工神经网络、最近邻算法、支持向量机等等.这些算法在许多现实数据集合上具有较好的预测精度.其中朴素贝叶斯算法具有良好的可解释性等,在实践中的应用最为广泛. 朴素贝叶斯算法是基于统计理论的方法,它能够预测所属类别的概率.简单朴素贝叶斯分类器假设一个指定类别中各属性的取值是相互独立的.这一假设称为给定类别条件下的独立性(Class Conditional Independence)假设,它可以有效减少在构造分类器时所需要的计算量. 简单朴素贝叶斯算法的分类模型是基于Bayes定理的,下面就简单介绍一下Bayes定理.设X为一个类别未知的数据样本,H为某个假设,C表示类别集合,若数据样本X属于一个特定的类别c,那么分类问题就是决定P(H/X),即在获得数据样本X时,H假设成立的概率.由于P(H) , P(X), P(X/H)的概率值可以从(供学习使用的)数据集合中得到,Bayes定理描述了如何根据P(H) , P(X), P(X/H)计算获得的P(H/X),有关的具体公式定义描述如下: (/)()(/)()PXHPHPHXPX (1)
简单朴素贝叶斯分类器进行分类操作的步骤说明如下: 1. 每个数据样本均是由一个n维特征向量X={x1,x2, ……, xn}来描述其n个属性(A1, A2, ……, An)的具体取值. 2. 假设共有m个不同类别,{C1, C2, ……, Cn}.给定一个未知类别的数据样本X,分类器在已知样本X的情况下,预测X属于事后概率最大的那个类别.也就是说,朴素贝叶斯分类器将未知类别的样本X归属到类别Ci,当且仅当:P(Ci/X)> P(Cj/X) 其中1≤j≤m,j≠i. 也就是P(Ci/X)最大.其中的类别Ci就称为最大事后概率的假设,根据Bayes定理可知, (/)()(/)()iiiPXCPCPCXPX (2)
3. 由于P(X)对于所有的类别均是相同的,所以,要使公式(2)取得最大值,只需要P(X/Ci)P(Ci)取最大即可.类别的事前概率P(Ci)可以通过公式P(Ci)=si/s进行估算,其中si
为训练样本集合类别Ci的个数,s为整个训练样本集合的大小. 简单朴素贝叶斯分类器的思想与算法分析 2 4. 根据所给定包含多个属性的数据集,直接计算P(X/Ci)的运算量是非常大的.为实现对P(X/Ci)的有效估算,朴素贝叶斯分类器通常都是假设各类别是相互独立的即各属性的取值是相互独立的.即:
1(/)(/)nikikPXCPxC (3)
可以根据训练数据样本估算P(X1/Ci),P(X2/Ci),……,P(Xn/Ci)的值,具体处理方法说明如下: 若Ak是名称型属性,就有P(Xk/Ci)=sik/si,这里sik为训练样本中类别为Ci且属性Ak的取值为vk的样本数,si为训练样本中类别为Ci的样本数. 若Ak是数值型属性,那么假设属性具有高斯分布,概率P(Xk/Ci)就用概率密度f(Xk/Ci)代替,即 22()21()(,,)2CiCiiiixkikCCCfxCgxe
(4)
其中, g(xk,μci,δci)为属性Ak的高斯规范密度函数,μci,δci为训练样本中类别为Ci
的属性为Ak的均值和方差.数值型属性的均值计算公式为: xmean=(x1+x2+……+xn)/n,其中
x1, x2, ……, xn表示数值型属性的值,n表示实例个数.数值型属性的方差计算公式为: 22212()()()1meanmeannmeanxxxxxxDevsn
(5)
其中x1, x2, ……, xn表示数值型属性的值,xmean表示方差,n表示实例个数. 5. 为预测一个样本X的类别,可对每个类别Ci估算相应的P(X/Ci)P(Ci),样本X归属到类别Ci,当且仅当:P(Ci/X)> P(Cj/X) 其中1≤j≤m, j≠i. 也可通过求百分比percent(Ci)= P(Ci/X)/∑P(Ck/X),百分比最大值对应的类标就位样本X的类别. 下面就以有关天气问题的数据为例仔细介绍一下朴素贝叶斯分类器进行分类的过程.有关天气的数据如下表所示: outlook (类型) temperature (温度) humidity (湿度) windy (风) play (玩) sunny 85 85 False No sunny 80 90 True No overcast 83 86 False Yes rainy 70 96 False Yes rainy 68 80 False Yes rainy 65 70 True No overcast 64 65 True Yes sunny 72 95 False No sunny 69 70 False yes rainy 75 80 False yes sunny 75 70 True yes overcast 72 90 True yes overcast 81 75 False yes rainy 71 91 True no 简单朴素贝叶斯分类器的思想与算法分析 3 概率的表示方法:P(yes/sunny,80,76,false)=0.25就表示在outlook=sunny, temperature=80, humidity=76,windy=false的条件下paly=yes条件概率为0.25. 1.求得名称型属性的后验概率 以P(sunny/yes)为例进行详细说明.首先,计算类标为yes的实例个数为9个,然后计算类标为yes并且outlook属性为sunny的实例个数为2,所以P(sunny/yes)=2/9,这是很自然的事情,为了避免有时该概率值为0,需要对该概率值进行标准化:即分子加上属性outlook值的个数,也就是3(因为outlook的值有sunny, rainy, overcast三个),分母加上1,标准化后的条件概率P(sunny/yes)=(2+1)/(9+3)=3/12.重复上述步骤,可得属性outlook的后验概率为: P(sunny/yes)=3/12 P(overcast/yes)=5/12 P(rainy/yes)=4/12 P(sunny/no)=4/8 P(overcast/no)=1/8 P(rainy/no)=3/8 属性windy的后验概率为: P(false/yes)=7/11 P(false /yes)=4/11 P(false/no)=3/7 P(false /no)=4/7 2.求得数值型属性的均值 数值型属性的均值计算公式为:xmean=(x1+x2+……+xn)/n,其中x1, x2, ……, xn表示数值型属性的值,n表示实例个数.下面就以求在play=yes的条件下数值型属性temperature的均值为例详细说明求解过程:mean- temperature(yes)=(83+70+68+64+69+75+75+72+81)/9=73同理: mean- temperature(no)=(85+80+65+72+71)/5=74.6 mean- humidity(yes)=(86+96+80+65+70+80+70+90+75)/9=79.1 mean- humidity(no)=(85+90+70+95+91/5=86.2 3.求得数值型属性的方差 数值型属性的方差计算公式为: 22212()()()1meanmeannmeanxxxxxxDevsn
(6)
其中x1, x2, ……, xn表示数值型属性的值,xmean表示方差,n表示实例个数.下面就以求在play=yes的条件下数值型属性temperature的方差为例详细说明求解过程. Devs-temperature(yes) =((83-73)2+(70-73)2+(68-73)2+(64-73)2+(69-73)2+(75-73)2+(75-73)2+(72-73)2+(81-73)2)/9 =6.2 同理,可求得 Devs-temperature(no)=7.9 Devs-humidity(no)=10.2 Devs-humidity(no)=9.7 简单朴素贝叶斯分类器的思想与算法分析 4 4.求得类属性的先验概率 以P(yes)为例进行详细说明.首先计算数据集的实例总数为14,然后计算类标为yes的实例总数为9,所以P(yes)=9/14,为避免有时该概率值为0,需要对该概率值进行标准化:即分子加上类属性play值的个数,也就是2(因为play的值有yes, no二个),分母加上1,标准化后的条件概率P(yes)=(9+1)/(14+2)=10/16,同理可求得P(no)=(5+1)/(14+2)=6/16. 5.根据上述参数计算待分类实例属于每个类的概率,选择概率值最大的类作为待分类实例的类标.下面以实例(sunny,66,90,true)为例说明一下其分类过程: 首先求P(yes/sunny,66,90,true),根据bayes定理和条件独立性假设, P(yes/sunny,66,90,true)=(P(yes)P(sunny/yes)P(true/yes)f(66/yes)f(90/yes))/P(sunny,66,90,true)
由于P(sunny,66,90,true)为常数,最后求类的百分比的时候可以抵消,可以不加考虑,而P(66/yes)可用概率密度f(66/yes)来代替,这对最后的求类的百分比也没有影响,所以我们只需求P(yes)P(sunny/yes)P(true/yes) f(66/yes) f(90/yes).而P(yes),P(sunny/yes),P(true/yes)已经求得,根据正态分布假设,f(66/yes), f(90/yes) 也很容易求得. 22(mean-temperature(yes))2(Devs-temperature(yes))1(66/)2 Devs-temperature(yes)xfyese
(6)
22(6673)26.210.0342 6.2e