第6章-贝叶斯分类器PPT格式课件下载.pptx
- 文档编号:14813570
- 上传时间:2022-10-25
- 格式:PPTX
- 页数:67
- 大小:2.47MB
第6章-贝叶斯分类器PPT格式课件下载.pptx
《第6章-贝叶斯分类器PPT格式课件下载.pptx》由会员分享,可在线阅读,更多相关《第6章-贝叶斯分类器PPT格式课件下载.pptx(67页珍藏版)》请在冰豆网上搜索。
对于给定的待分类项,求解在该对于给定的待分类项,求解在该分类项出现的条件下,各个类别出现的概率。
根据各个类别出现的概率,分类项出现的条件下,各个类别出现的概率。
根据各个类别出现的概率,哪个最大,就将其划归为那个类别。
哪个最大,就将其划归为那个类别。
人民邮电出版社李克清主编机器学习教材配套课件6.2朴素贝叶斯分类n假设样本,标签。
令x为X上的随机向量,y是Y上的随机向量,P(X,Y)为X和Y的联合概率分布。
假定训练数据集是由P(X,Y)独立同分布产生的,那么朴素贝叶斯算法可从训练数据集T中学习联合概率分布P(X,Y),即n先验概率分布:
n条件(似然)概率分布:
6.2.1朴素贝叶斯算法n朴素贝叶斯算法有一个假设:
在分类确定的条件下,要求分类的各个特征是条件独立的。
人民邮电出版社李克清主编机器学习教材配套课件6.2朴素贝叶斯分类根据贝叶斯定理,计算后验概率:
于是,朴素贝叶斯分类器表示为:
考虑分类特征的条件独立假设,有:
由于对所有的,上式的分母都相同,因此可简写为:
人民邮电出版社李克清主编机器学习教材配套课件6.2朴素贝叶斯分类6.2.2朴素贝叶斯分类算法n准备工作阶段准备工作阶段:
这一阶段的输入是所有待分类数据,输出是特征属性和训练样本。
这一阶段是整个朴素贝叶斯分类中唯一需要人工完成的阶段,其质量对整个过程将有重要影响,分类器的质量很大程度上由特征属性、特征属性划分及训练样本质量决定。
n分类器训练阶段分类器训练阶段:
其输入是特征属性和训练样本,输出是分类器。
这一阶段是机械性阶段,根据前面讨论的公式可以由程序自动计算完成。
n应用应用阶段阶段:
其输入是分类器和待分类项,输出是待分类项与类别的映射关系。
这一阶段也是机械性阶段,由程序完成。
朴素贝叶斯分类算法大致可分为三个阶段:
人民邮电出版社李克清主编机器学习教材配套课件6.2朴素贝叶斯分类6.2.2朴素贝叶斯分类算法人民邮电出版社李克清主编机器学习教材配套课件6.2朴素贝叶斯分类6.2.2朴素贝叶斯分类算法例如,使用贝叶斯分类器对垃圾邮件进行分类和过滤。
贝叶斯分类器需要依赖历史数据进行学习,假定包含关键词“中奖”的就算作垃圾邮件。
先经过人工筛选找出10封邮件,并对包含关键词“中奖”的邮件标注为垃圾邮件(Spam)。
序号包含关键词(“中奖”)邮件类别1NoEmail2YesSpam3YesSpam4NoEmail5NoSpam6YesSpam7NoEmail8YesEmail9NoEmail10NoEmail人民邮电出版社李克清主编机器学习教材配套课件6.2朴素贝叶斯分类6.2.2朴素贝叶斯分类算法统计普通邮件和垃圾邮件中出现“中奖”关键词的频率并进行汇总,分别记录普通邮件中出现和未出现该关键词的次数和垃圾邮件中出现和未出现该关键词的次数,并分别进行汇总。
EmailSpam频率Yes134No516频率6410EmailSpam概率Yes1/6P(Yes|Email)3/4P(Yes|Spam)0.4P(Yes)No5/6P(No|Email)1/4P(No|Spam)0.6P(No)0.6P(Email)0.4P(Spam)人民邮电出版社李克清主编机器学习教材配套课件n根据贝叶斯定理,已知垃圾邮件中出现“中奖”关键词的概率P(Yes),垃圾邮件出现的概率P(Spam),以及垃圾邮件中有“中奖”关键词出现的概率P(Yes|Spam),那么当出现“中奖”关键词时,该邮件是垃圾邮件的概率P(Spam|Yes)为6.2朴素贝叶斯分类6.2.2朴素贝叶斯分类算法EmailSpam概率Yes1/6P(Yes|Email)3/4P(Yes|Spam)0.4P(Yes)No5/6P(No|Email)1/4P(No|Spam)0.6P(No)0.6P(Email)0.4P(Spam)附:
人民邮电出版社李克清主编机器学习教材配套课件6.2朴素贝叶斯分类6.2.3朴素贝叶斯分类算法的Python实现DayOutlookTempHumidityWindyPlayTennisDay1SunnyHotHighWeakNoDay2SunnyHotHighStrongNoDay3OvercastHotHighWeakYesDay4RainMildHighWeakYesDay5RainCoolNormalWeakYesDay6RainCoolNormalStrongNoDay7OvercastCoolNormalStrongYesDay8SunnyMildHighWeakNoDay9SunnyCoolNormalWeakYesDay10RainMildNormalWeakYesDay11SunnyMildNormalStrongYesDay12OvercastMildHighStrongYesDay13OvercastHotNormalWeakYesDay14RainMildHighStrongNon假定给定了如下表所示的训练样本数据,训练的目的是根据给定的天气状况判定是否去PlayTennis?
当给出一个新的实例,如Outlook=Sunny,Temp=Cool,Humidity=High,Windy=Strong时,那么预测的目标概念PlayTennis的目标值是Yes还是No?
人民邮电出版社李克清主编机器学习教材配套课件6.2朴素贝叶斯分类6.2.3朴素贝叶斯分类算法的Python实现对于样本(“Outlook”:
”Sunny”,“Temp”:
“Cool”,“Humidity”:
“High”,“Windy”:
“Strong”),计算:
人民邮电出版社李克清主编机器学习教材配套课件n输入:
以字典方式存储的(分类)天气信息,如Outlook:
Sunny,Temp:
Hot,Humidity:
High,Windy:
Weak,class:
No。
n输出:
类别(Yes,No)6.2朴素贝叶斯分类6.2.3朴素贝叶斯分类算法的Python实现人民邮电出版社李克清主编机器学习教材配套课件6.2朴素贝叶斯分类6.2.3朴素贝叶斯分类算法的Python实现fromnumpyimport*#训练朴素贝叶斯模型(仅针对属性值为离散型情况)classBayesClassifier():
#简单贝叶斯分类器def_init_(self):
pass#分离数据集的属性和标签,并分别保存下来defgetFeatures(self,dataElem,Label):
self.Label=Label#数据集的标签名称self.FLists=clforclindataElem#数据集的属性名称self.FLists.remove(self.Label)returnself.FListsn示例程序如下:
人民邮电出版社李克清主编机器学习教材配套课件6.2朴素贝叶斯分类6.2.3朴素贝叶斯分类算法的Python实现#分离数据:
数据集和标签defsplitData(self,dataSets):
labels=clself.LabelforclindataSets#标签数据集features=#属性数据集foriinrange(len(dataSets):
feature=forfaindataSetsi:
#处理每一个数据iffa!
=self.Label:
#判断是标签,还是属性featurefa=dataSetsifaprint(feature)features.append(feature)returnfeatures,labels人民邮电出版社李克清主编机器学习教材配套课件6.2朴素贝叶斯分类6.2.3朴素贝叶斯分类算法的Python实现#训练简单贝叶斯分类器deftrain(self,features,labels):
self.sampleNum=len(features)#样本数目self.countDic=#统计各个条件概率的出现次数self.labelSet=set()#集合存放类标,如:
Y=1orY=0foriinrange(len(labels):
#统计类标不同值出现的次数TempStr=Y=+str(labelsi)self.labelSet.add(str(labelsi)ifTempStrinself.countDic:
self.countDicTempStr+=1else:
self.countDicTempStr=1foriinrange(len(features):
#统计各个条件概率组合出现的次数人民邮电出版社李克清主编机器学习教材配套课件6.2朴素贝叶斯分类6.2.3朴素贝叶斯分类算法的Python实现forflinself.FLists:
TempStr=F+str(fl)+=+str(featuresifl)+|Y=+str(labelsi)ifTempStrinself.countDic:
self.countDicTempStr=1forkeyinself.countDic.keys():
#遍历次数统计字典计算概率ifkey.find(|)!
=-1:
#计算条件概率P(Fi=a|Y=b)targetStr=keykey.find(|)+1:
#类标字符串:
Y=1orY=-0self.countDickey/=self.countDictargetStr#计算条件概率P(Fi=a|Y=b)=Count(Fi=a,Y=b)/Count(Y=b)forlabelinself.labelSet:
#计算类标概率P(Y=b)人民邮电出版社李克清主编机器学习教材配套课件6.2朴素贝叶斯分类6.2.3朴素贝叶斯分类算法的Python实现TempStr=Y=+str(label)self.countDicTempStr/=self.sampleNumdefclassify(self,feature):
#使用训练后的贝叶斯分类器分类新样本#计算后验概率P(Y=b|Sample=feature)probabilityMap=forlabelinself.labelSet:
TempProbability=1.0forflinself.FLists:
TempStr=F+str(fl)+=+str(featurefl)+|Y=+labelifTempStrnotinself.countDic:
#遇到新的特征值,导致该概率P(Fi=a|Y=b)为0,将它校正为非0值(1/Count(Y=b)人民邮电出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 贝叶斯 分类