




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
姓名: 学号:题目对sonar和wdbc中数据(如表1所示)进行分类,并将实验结果填入表2。不降维方法用邻近法,降维用fisher判别:表1 实验数据类别数特征维数样本个数wdbc230=357=212sonar260=98 =110 解:表2实验结果(准确率)不降维降维wdbc0.950720.93283sonar0.686080.72499一、Fisher线性判别Fisher判别法的基本思想是寻找一个最好的投影方向,在这个方向的直线上,d维样本的投影能分开的最好。问题是如何根据实际情况找到这条最好的、最易于分类的投影线。这就是fisher法所要解决的基本问题。一维空间的Fisher线性判别函数为: =,i=1,2 其中,和是两个样本的均值,分别为各类样本的的类内离散度。投影方向为: (4) (5)在Fisher判决函数中,分子反应了映射后两类中心的距离平方,该值越大,类间可分性越好;分母反应了两类的类内的离散度,其值越小越好;从总体上讲,的值越大越好,在这种可分性评价标准下,使达到最大值的即为最佳投影方向。以上所做的全部工作都是将d维空间的样本集映射成一维样本集,然后,我们只需要再确定一个阈值,将投影点与阈值比较,便可作出决策。本程序中,采用的是阈值=()/ 2然后再根据决策规则比较投影与阈值大小就可判断属于什么类型。Fisher线性判别的主要优点是简单,容易实现,且计算量和存储量小。二、Fisher线性判别流程图分别取50组类别1和类别2的样本进行训练通过决策规则,计算得到和决策面阈值构成fisher判别函数分别计算测试样本识别的准确率选取剩下类别1和类别2的样本进行测试是否大于阈值?类别1的个数加1类别2的个数加1三、Fisher线性判别实验结果 因为选择训练样本具有随机性,所以进行多次实验,求取判别准确率的平均值。表一:sonar(fisher) 表二:wdbc(fisher)运行次数准确率10.927520.942430.929640.955250.925460.910470.957480.933990.9254100.9211平均准确率0.93283运行次数准确率10.692320.769230.751340.787350.713060.707870.684580.669090.7665100.7225平均准确率0.7263四、最近邻法其基本思想是在训练样本中找到测试样本的最近邻,然后根据这个最近邻样本的类别来决定测试样本的类别,邻近法算法所选择的邻居都是已经正确分类的对象。该算法在分类时的不足主要有:如果样本数目太少,样本的分布可能会带有很大的偶然性,不一定能很好地代表数据内的分布情况,此时就会影响最近邻法的性能。该方法的另一个不足之处是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的最近邻点。如果写成判别函数的形式,类的判别函数可以写作 决策规则为各类的判别函数比较大小,即 五、最近邻法判别流程图将测试样本的类别判定为最近训练样本的类别分别取50组类别1和类别2的样本作为训练样本选取剩下类别1和类别2的样本作为测试样本计算出距每个测试样本最近的训练对象分别测试样本识别的准确率六、最近邻法判别实验结果 表三 :sonar(最近邻) 表四:wdbc(最近邻)运行次数准确率10.647820.675030.725640.685050.713060.695670.624580.723790.7522100.6687平均准确率0.6911运行次数准确率10.970120.888130.955240.933950.931860.972370.97448190.9646100.9168平均准确率0.95072七、实验总结用fisher线性判别分析方法对sonar和wdbc的识别率分别是0.72499和0.93283;而用近邻法得到的识别率分别为0.63055和0.95072。因此在此两组数据中fisher线性判别的识别率要稍微高于近邻法,主要原因可能是这两种类型的点相对集中,存在交叠的情况导致的。在这个分类实验中fisher判别有着较高的识别率,但不一定适用于所有数据分类。因此要根据具体的应用场合来选择合适的分类方法。经过几个晚上的艰苦奋斗,努力学习,不断请教前辈大神和上网查询,不断调试程序,最终才得以成功运行,我对这几种判别方法有了更深层次的认识,同时对matlab这个强大的数值计算软件应用的也更加熟练,山重水复疑无路,柳暗花明又一村,自己的能力也就是在不断的发现错误,改正错误中得到了提升。八、实验matlab代码 (1)sonar数据分类clear all; A=xlsread(C:UserslisaiDesktopsonar);%将数据存入到A中for m=1:10 %程序随机运行10次 disp(sprintf(第%d次测试结果,m); k=0;%k用来保存两类数据个数 for c=1:208 if A(c,61)=1 k=k+1; B(k)=c; end end D=A(B,:);%将1类数据存入到D中 out=randperm(k); data=out(1:50); x1=D(data,1:60); %随机从1类数据中选取50个训练样本 x11=D(data,:); k=0; %以下同上类似,不再赘述 for h=1:208 if A(h,61)=2 k=k+1; L(k)=h; end end E=A(L,:); out1=randperm(k); data1=out1(1:50); x2=E(data1,1:60); x22=E(data1,:); D(data,:)=;%在全部1类数据中删除训练样本数据 E(data1,:)=;%在全部2类数据中删除训练样本数据 m1=mean(x1);%求1训练样本均值 m2=mean(x2);%求2训练样本均值 s1=(x1-ones(50,1)*m1)*(x1-ones(50,1)*m1);%1训练样本类内离散度矩阵S1 s2=(x2-ones(50,1)*m2)*(x2-ones(50,1)*m2);%2训练样本类内离散度矩阵S1 sw=s1+s2; %总类内离散度矩阵Sw w=inv(sw)*(m1-m2);%最优投影方向 y1=w*x1;y2=w*x2;%求训练样本投影 m11=mean(y1,2);%各个训练样本投影后的平均值 m22=mean(y2,2); th=(m11+m22)./2; %阈值 w1=0; w2=0; right1=0; right2=0; right3=0; G=D;E;%将删除训练样本后的M,B类样本组合在一起 for n=1:108 xn=G(n,1:60); xn1=G(n,:); yn=w*xn; if ynth w1=w1+1; if xn1(:,61)=1 %匹配上的话正确的个数加一 right1=right1+1; end else w2=w2+1; if xn1(:,61)=2 right2=right2+1; end end end right=(right1+right2)/108; disp(测试样本判定准确的个数为:); disp (right1+right2); disp(fisher判别准确率是:); disp(right); U=x11;x22;%将样本组合在一起 min=inf,0;%初始化最小值 for i=1:108 for j=1:100 d=sqrt(sum(G(i,1:60)-U(j,1:60).2); if min(1)d min(1)=d; min(2)=U(j,61);%找到最小距离对应的类 end end if min(2)=G(i,61) %判断是否与已知类一样 right3=right3+1; end end rightt=right3/108; disp(测试样本判定准确的个数为:); disp(right3) disp(最近邻判别准确率) disp(rightt);end某次程序运行结果:(2)wdbc数据分类clear all;B=importdata(C:UserslisaiDesktopwdbc.txt);%将数据存入到B中A=B.data; %将数据域存入到A中Y=B.textdata; %将非数据域存入到Y中for m=1:10 %程序随机运行10次 disp(sprintf(第%d次测试结果,m); k=0; %k用来保存两类数据个数 for c=1:569 str1=M; str3=B.textdata(c,2); if strcmp(str1,str3)=1 k=k+1; C(k)=c; end end D=A(C,:); %将M类数据存入到D中 DD=Y(C,:); %相应的将M类数据域对应的非数据域存入到DD中,以下有类似情况 out=randperm(k); data=out(1:50); x1=D(data,1:30);%随机从M类数据中选取50个训练样本 x1test=DD(data,:); %上述所选样本对应的非数据域 k=0; %以下同上类似,不再赘述 for h=1:569 str2=B; str3=B.textdata(h,2); if strcmp(str3,str2)=1 k=k+1; L(k)=h; end end E=A(L,:); EE=Y(L,:); out1=randperm(k); data1=out1(1:50); x2=E(data1,1:30); x2test=EE(data1,:); D(data,:)=;%在全部M类数据中删除训练样本数据 DD(data,:)=;%在全部M类非数据域中删除样本数据对应的非数据域 E(data1,:)=;%在全部B类数据中删除训练样本数据 EE(data1,:)=;%在全部B类非数据域中删除样本数据对应的非数据域 m1=mean(x1);%求M训练样本均值 m2=mean(x2);%求B训练样本均值 s1=(x1-ones(50,1)*m1)*(x1-ones(50,1)*m1); %M训练样本类内离散度矩阵S1 s2=(x2-ones(50,1)*m2)*(x2-ones(50,1)*m2); %B训练样本类内离散度矩阵S2 sw=s1+s2; %总类内离散度矩阵Sw w=inv(sw)*(m1-m2);%最优投影方向 y1=w*x1;y2=w*x2;%求训练样本投影 m11=mean(y1,2); %各个训练样本投影后的平均值 m22=mean(y2,2); th=(m11+m22)./2; %阈值 right1=0; right2=0; right3=0; G=D;E; %将删除训练样本后的M,B类样本组合在一起 GG=DD;EE; %与上敌对应的非数据域 for n=1:469 xn=G(n,1:30); str4=GG(n,2); yn=w*xn; %匹配上的话正确的个数加一 if ynth if strcmp(str4,str1)=1 right1=right1+1; end else if strcmp(str4,str1)=0 right2=right2+1; end end end right=(right1+right2)/469; disp(测试样本判定准确的个数为:); disp (right1+right2); disp(fisher判别准确率是:); disp(right); U=x1;x2;%将样本组合在一起 UU=x1test;x2test;%对应的非数据域组合在一起 min=inf; %初始化最小值 fo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年全国小学一年级下科学仁爱版模拟考试试卷(含答案解析)
- 贵州省贵定县贵定中学2024-2025学年高二上学期期中考试生物试题(解析版)
- 间充质干细胞联合猫瘟单克隆抗体治疗猫泛白细胞减少症的临床效果研究
- 意大利青霉菌CYP51聚集突变基因型及其生物学特性的研究
- 棉纤维机械损伤形态特征及力学机制研究
- 基于深度学习的睡眠呼吸暂停诊断模型研究
- PA金融公司助贷业务发展策略研究
- 基于模糊容忍度培养高中生英语阅读策略的行动研究
- 条状深基坑分隔墙端部空间效应及其对邻近桩基的影响研究
- 沈阳市沈北新区农村人居环境整治绩效评估研究
- 2025春季学期国开电大本科《管理英语3》一平台机考真题及答案(第十套)
- 2024-2025学年八年级下册道德与法治期末测试模拟卷(统编版)(含答案)
- 2025年四川省宜宾五粮液集团进出口有限公司招聘笔试参考题库附带答案详解
- 2025年社区工作者考试题目及答案
- 定额〔2025〕1号文-关于发布2018版电力建设工程概预算定额2024年度价格水平调整的通知
- 2023年贵州贵州贵安发展集团有限公司招聘笔试真题
- 胸外科围手术期的气道管理.ppt
- 小儿雾化吸入课件.ppt
- 国际经济法案例分析(汇总)
- 锁骨骨折幻灯片
- 高填方、深挖路堑边坡和软基监测方案
评论
0/150
提交评论