收藏 分享(赏)

朴素贝叶斯分类matlab实现.doc

上传人:weiwoduzun 文档编号:5611277 上传时间:2019-03-09 格式:DOC 页数:5 大小:141.50KB
下载 相关 举报
朴素贝叶斯分类matlab实现.doc_第1页
第1页 / 共5页
朴素贝叶斯分类matlab实现.doc_第2页
第2页 / 共5页
朴素贝叶斯分类matlab实现.doc_第3页
第3页 / 共5页
朴素贝叶斯分类matlab实现.doc_第4页
第4页 / 共5页
朴素贝叶斯分类matlab实现.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、实验二 朴素贝叶斯分类一、实验目的通过实验,加深对统计判决与概率密度估计基本思想、方法的认识,了解影响 Bayes分类器性能的因素,掌握基于 Bayes 决策理论的随机模式分类的原理和方法。二、实验内容设计 Bayes 决策理论的随机模式分类器,用 matlab 实现。三、方法手段Bayes 分类器的基本思想是依据类的概率、概密,按照某种准则使分类结果从统计上讲是最佳的。换言之,根据类的概率、概密将模式空间划分成若干个子空间,在此基础上形成模式分类的判决规则。准则函数不同,所导出的判决规则就不同,分类结果也不同。使用哪种准则或方法应根据具体问题来确定。四、Bayes 算法朴素贝叶斯分类或简单贝

2、叶斯分类的工作过程如下:(1)每个数据样本用一个 n 维特征向量 表示,分别描述对 n 个属性12,.nXxA1,A2,An 样本的 n 个度量。(2)假定有 m 个类 C1,C2,Cm。给定一个未知的数据样本 X(即没有类标号) ,分类法将预测 X 属于具有最高后验概率(条件 X 下)的类。即是说,朴素贝叶斯分类将未知的样本分配给类 Ci,当且仅当(2.1),ijPji这样,最大化 。其 最大的类 Ci 称为最大后验假定。根据贝叶斯定理iXiPC,HPXP(2.2)iiiPXC(3)由于 P(X)对于所有类为常数,只需要 最大即可。如果类的先验概iiPXC率未知,则通常假定这些类是等概率的,

3、即 P(C1)=P(C2)=P(Cm)。并据此只对最大化。否则,最大化 。注意,类的先验概率可以用 计iPXCiiPXCiiPCs算其中si 是类 Ci 中的训练样本数,而 s 是训练样本总数。(4)给定具有许多属性的数据集,计算 的开销可能非常大。为降低计算i的开销,可以做类条件独立的朴素假定。给定样本的类标号,假定属性值相互条iPX件独立,即在属性间,不存在依赖关系。这样,(2.3)1nikikPXCpx概率 , , 可以由训练样本估值,其中1iPX2ini1)如果 Ak 是分类属性,则 ,其中 sik 是在属性 Ak 上具有值 xk 的类kiiksCi 的样本数,而 si 是 Ci 中的

4、训练样本数。2)如果 Ak 是连续值属性,则通常假定该属性服从高斯分布,因而,(2.4)221,2Ciii ikikCCxkPXgxe其中,给定类 Ci 的训练样本属性 Ak 的值, 是属性 Ak 的高斯密度函数,而,iikgx分别为平均值和标准差。,iiC(5)为对未知样本 X 分类,对每个类 Ci,计算 。样本 X 被指派到类iiPXCCi,当且仅当 ,1,iijjPmji换言之,X 被指派到其 最大的类 Ci。iiXC例 使用朴素贝叶斯分类预测类标号:RID Age Income Student Credit_rating Class:buys_computer1 40 Medium N

5、o Fair Yes5 40 Low Yes Fair Yes6 40 Low Yes Excellent No7 3140 Low Yes Excellent Yes8 40 Medium Yes Fair Yes11 40 Medium No Excellent No给定与判定树归纳相同的训练数据,我们希望使用朴素贝叶斯分类预测一个未知样本的类标号。训练数据在表 7.1 中。数据样本用属性 age,income,student 和 credit_rating 描述。类标号属性 buys_computer 具有两个不同值(即(yes,no) ) 。设 C1 对应于类buys_computer

6、=“yes”,而 C2 对应于类 buys_computer=“no”。我们希望分类的样本为 “30,“,“,_“Xageincomediustenyscreditangfir我们需要最大化 ,i=1,2。每个类的先验概率 P(Ci)可以根据训练样本计算:iiPCP(buys_computer=”yes”)=9/14=0.643P(buys_computer=”no”)=5/14=0.357为计算 ,i=1,2 ,我们计算下面的条件概率:iXP(age=”30”|buys_computer=”yes”) =2/9=0.222P(age=”30”|buys_computer=”no”) =3/5

7、=0.222P(income=”medium”|buys_computer=”yes”) =4/9=0.444P(income=”medium”|buys_computer=”no”) =2/5=0.400P(student=”yes”|buys_computer=”yes”) =6/9=0.667P(student=”yes”|buys_computer=”no”) =1/5=0.200P(credit_rating=”fair”|buys_computer=”yes”) =6/9=0.667P(credit_rating=”fair”|buys_computer=”no”) =2/5=0.

8、400使用以上概率,我们得到:P(X|buys_computer=”yes”)=0.2220.4440.6670.667=0.044P(X|buys_computer=”no”)=0.6000.4000.2000.400=0.019P(X|buys_computer=”yes”)P(buys_computer=”yes”)=0.0440.643=0.028P(X|buys_computer=”no”)P(buys_computer=”no”)=0.0190.357=0.007因此,对于样本 X,朴素贝叶斯分类预测 buys_computer=”yes”。五、实验结果训练数据 train1.tx

9、t 内容及格式如下:需要分类的数据(预测数据)predict1.txt 如下:程序执行结果如下:六、实验总结贝叶斯分类的效率如何?理论上讲,与其它所有分类算法相比较,贝叶斯分类具有最小的出错率。然而,实践中并非总是如此。这是由于对其应用的假定(如类条件独立性)的不准确性,以及缺乏可用的概率数据造成的。然而种种实验研究表明,与决策树和神经网络分类算法相比,在某些领域,该分类算法可以与之媲美。贝叶斯分类还可以用来为不直接使用贝叶斯定理的其他分类算法提供理论判定。例如,在某种假定下,可以证明正如朴素贝叶斯分类一样,许多神经网络和曲线拟合算法输出最大的后验假定。七、Batyes 程序function

10、out=my_bayes(X,Y)%X 为原数据集,Y 是要预测的数据,out 是返回预测的结果%打开 test.txt 文件clc;file = textread(train1.txt,%s,delimiter,n,whitespace,);m,n=size(file);for i=1:mwords=strread(filei,%s,delimiter, );words=words;Xi=words;endX=X;%转置%打开 predict.txt 文件file = textread(predict1.txt,%s,delimiter,n,whitespace,);m,n=size(fil

11、e);for i=1:mwords=strread(filei,%s,delimiter, );words=words;Yi=words;endY=Y;%转置%训练部分M,N=size(X);m,n=size(X1);decision=attribute(X,n); %提取决策属性Pro=probality(decision);%计算决策属性个分量概率for i=1:n-1post_proi,post_namei=post_prob(attribute(X,i),decision); %求各条件属性后验概率end%预测部分uniq_decis=unique(decision); %求决策属性的

12、类别P_X=ones(size(uniq_decis,1),1); %初始化决策属性后验概率M,N=size(Y);k=1;for i=1:Mfor j=1:n-1temp,loc=ismember(attribute(Yi,j),unique(attribute(X,j);%决策属性计算后验概率P_X=post_proj(:,loc).*P_X;%各条件属性后验概率之积(贝叶斯公式)endMAX,I=max(P_X);%寻找最大值outk=uniq_decisI;%哪一类决策属性后验概率最大,则次样本属于那一类k=k+1;P_X=ones(size(uniq_decis,1),1);%再次初

13、始化决策属性后验概率P_X,以便为下一样本计算作准备endout=out; %输出结果(转置形式)%各子程序function y=attribute(X,n)%功能为提取出原数据集 X 中的第 n 个属性所对应的一列值M,N=size(X);for i=1:Mtempi=Xin; %将指定列值以 temp 暂量保存endy=temp;%转置%function post_pro,post_name=post_prob(E,D)%E 为目标属性, D 为决策属性, post_pro 计算目标属性对应于决策属性的后验概率%post_name 为所求的后验概率变量名称M,N=size(D);decis

14、ion=unique(D);%决策属性种类attri=unique(E); %条件属性种类m1,n1=size(decision);m2,n2=size(attri);temp=cat(2,E,D); %连接条件属性和决策属性post_pro=zeros(m1,m2); %后验概率初始化for i=1:Mfor j=1:m2for k=1:m1post_namek,j=cat(2,attrij,decisionk);if(isequal(temp(i,:),post_namek,j)post_pro(k,j)=post_pro(k,j)+1; %条件属性后验概率(频数)endendendendfor i=1:m1post_pro(i,:)=post_pro(i,:)/sum(post_pro(i,:);%求得条件属性后验概率end%function y=probality(E) %计算该属性类的概率M,N=size(E);class=unique(E);%求该决策属性的类别m,n=size(class);p=zeros(m,1);%先验概率 p 初始化for i=1:Mfor j=1:mif(isequal(Ei,classj)p(j)=p(j)+1; %求各个样本的先验概率(频数)endendendy=p/M;%得各样本概率

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报