基于朴素贝叶斯模型的两类问题分类

基于朴素贝叶斯模型的两类问题分类

ID:38783619

大小:94.98 KB

页数:5页

时间:2019-06-19

基于朴素贝叶斯模型的两类问题分类_第1页
基于朴素贝叶斯模型的两类问题分类_第2页
基于朴素贝叶斯模型的两类问题分类_第3页
基于朴素贝叶斯模型的两类问题分类_第4页
基于朴素贝叶斯模型的两类问题分类_第5页
资源描述:

《基于朴素贝叶斯模型的两类问题分类》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于朴素贝叶斯模型的两类问题分类一、实验目的 通过实验,加深对统计判决与概率密度估计基本思想、方法的认识,了解影响Bayes分类器性能的因素,掌握基于Bayes决策理论的随机模式分类的原理和方法,并理解ROC曲线的意义二、实验内容 通过Bayes决策理论的分类器,从给定样本集选择训练集以及测试集进行训练并分类,用matlab实现,绘制ROC曲线,得到最优的分类阈值三、实验原理 Bayes分类器的基本思想是依据类的概率、概密,按照某种准则使分类结果从统计上讲是最佳的。换言之,根据类的概率、概密将模式空间划分成若干个子空间,在此基础上形

2、成模式分类的判决规则。准则函数不同,所导出的判决规则就不同,分类结果也不同。使用哪种准则或方法应根据具体问题来确定朴素贝叶斯的一个基本假设是所有特征在类别已知的条件下是相互独立的,即pxwi=px1,x2,…,xdwi=j=1dpxjwi在构建分类器时,只需要逐个估计出每个类别的训练样本在每一维上的分布形式,就可以得到每个类别的条件概率密度,大大减少了需要估计的参数的数量。朴素贝叶斯分类器可以根据具体问题确定样本在每一维特征上的分布形式,最常用的一种假设是每一个类别的样本都服从各维特征之间相互独立的高斯分布,即pxwi=j=1dpx

3、jwi=j=1d12πσijexp-xj-μij22σij式中uij——第i类样本在第j维特征上的均值σij——相应的方差可以得到对数判别函数:gix=lnpxwi+lnPwi=j=1d-12ln2π-lnσij-xj-μij22σij+lnPwi=-d2ln2π-j=1dlnσij-j=1dxj-μij22σij+lnPwi其中的第1项与类别无关,可以忽略,由此得到判别函数:gix=lnPwi-j=1dlnσij-j=1dxj-μij22σij四、实验步骤1、用给定的两类样本集,各选取前400个作为训练样本,通过调用MATLAB工

4、具箱的NaiveBayes类的fit函数训练分类器2、通过1得到的训练器,选取样本集后100个样本作为测试样本,得到分类结果。3、对测试集的分类结果进行统计,计算正确率。4、绘制相应的ROC曲线五、实验代码function[Train,TrainLabel]=getTrain(c1,c2)%UNTITLED得到训练样本%根据给定两类样本集各选取前400行样本作为训练样本c1=c1(1:400,:);c2=c2(1:400,:);c=[c1;c2];Train=c(:,2:25);TrainLabel=c(:,1);endfuncti

5、on[FirstTest,FirstTestLabel]=getFirstTest(c1)%UNTITLED2得到第一类测试集%选取第一类样本集的后100行作为测试集c1=c1(401:500,:);FirstTest=c1(:,2:25);FirstTestLabel=c1(:,1);endfunction[SecondTest,SecondTestLabel]=getSecondTest(c2)%UNTITLED3得到第二类测试集%选取第二类最后100行作为第二类测试集c2=c2(401:500,:);SecondTest=c2

6、(:,2:25);SecondTestLabel=c2(:,1);endfunction[right]=getRight(l,realLabel)%UNTITLED4得到正确率%根据预测结果以及真实类别标号统计预测正确个数得到正确率count=0;fori=1:100if(l(i)==realLabel)count=count+1;endendright=count/100;endfunction[Fright,Sright,pl,rl]=predict(c1,c2)%UNTITLED5得到两类预测正确率[Train,TrainLa

7、bel]=getTrain(c1,c2);%得到训练样本以及类别标号N=NaiveBayes.fit(Train,TrainLabel);%利用函数进行分类器训练[ft,fl]=getFirstTest(c1);%得到第一类测试样本以及真实类别标号fpl=predict(N,ft);%得到第一类测试样本预测类别标号Fright=getRight(fpl,fl);%得到第一类测试样本分类正确率[st,sl]=getSecondTest(c2);%得到第二类测试样本以及真实类别标号spl=predict(N,st);%得到第二类测试样本

8、预测类别标号Sright=getRight(spl,sl);%得到第二类测试样本分类正确率pl=[fpl;spl];%将两类预测标号合并rl=[fl;sl];%将两类真实标号合并end>>[Fright,Sright,predictL

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。