FISHER线性判别MATLAB实现(共8页).doc

上传人:飞****2 文档编号:14163819 上传时间:2022-05-03 格式:DOC 页数:8 大小:66.50KB
返回 下载 相关 举报
FISHER线性判别MATLAB实现(共8页).doc_第1页
第1页 / 共8页
FISHER线性判别MATLAB实现(共8页).doc_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《FISHER线性判别MATLAB实现(共8页).doc》由会员分享,可在线阅读,更多相关《FISHER线性判别MATLAB实现(共8页).doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上Fisher线性判别上机实验报告 班级:学号:姓名: 一 算法描述Fisher线性判别分析的基本思想:选择一个投影方向(线性变换,线性组合),将高维问题降低到一维问题来解决,同时变换后的一维数据满足每一类内部的样本尽可能聚集在一起,不同类的样本相隔尽可能地远。 Fisher线性判别分析,就是通过给定的训练数据,确定投影方向W和阈值w0, 即确定线性判别函数,然后根据这个线性判别函数,对测试数据进行测试,得到测试数据的类别。 线性判别函数的一般形式可表示成 其中 Fisher选择投影方向W的原则,即使原样本向量在该方向上的投影能兼顾类间分布尽可能分开,类内样本投影尽可能

2、密集的要求。 如下为具体步骤:(1)W的确定各类样本均值向量mi样本类内离散度矩阵和总类内离散度矩阵样本类间离散度矩阵在投影后的一维空间中,各类样本均值样本类内离散度和总类内离散度 样本类间离散度Fisher准则函数为 max(2)阈值的确定是个常数,称为阈值权,对于两类问题的线性分类器可以采用下属决策规则:令则:如果g(x)0,则决策;如果g(x)y0,则xw1;否则xw2。二 数据描述 1.iris数据 IRIS数据集以鸢尾花的特征作为数据来源,数据集包含150个数据集,有4维,分为3 类,每类50个数据,每个数据包含4个属性,是在数据挖掘、数据分类中非常常用的测试集、训练集。 2.son

3、ar数据 Sonar数据集包含208个数据集,有60维,分为2类,第一类为98个数据,第二类为110个数据,每个数据包含60个属性,是在数据挖掘、数据分类中非常常用的测试集、训练集。三 实验结果以及源代码 1.Iris (1)代码:clccleardata=xlsread(Iris);Iris1=data(1:50,1:4);Iris2=data(51:100,1:4);Iris3=data(101:150,1:4);%类均值向量m1 = mean(Iris1);m2 = mean(Iris2);m3 = mean(Iris3); %各类内离散度矩阵s1 = zeros(4);s2 = zer

4、os(4);s3 = zeros(4);for i=1:1:30 s1 = s1 + (Iris1(i,:) - m1)*(Iris1(i,:) - m1);endfor i=1:1:30 s2 = s2 + (Iris2(i,:) - m2)*(Iris2(i,:) - m2);endfor i=1:1:30 s3 = s3 + (Iris3(i,:) - m3)*(Iris3(i,:) - m3);end %总类内离散矩阵sw12 = s1 + s2;sw13 = s1 + s3;sw23 = s2 + s3;%投影方向w12 = (sw12-1)*(m1 - m2);w13 = (sw1

5、3-1)*(m1 - m3);w23 = (sw23-1)*(m2 - m3);%判别函数以及阈值T(即w0)T12 = -0.5 * (m1 + m2)*inv(sw12)*(m1 - m2);T13 = -0.5 * (m1 + m3)*inv(sw13)*(m1 - m3);T23 = -0.5 * (m2 + m3)*inv(sw23)*(m2 - m3); kind1 = 0;kind2 = 0;kind3 = 0;newiris1=;newiris2=;newiris3=;for i=31:50 x = Iris1(i,:); g12 = w12 * x + T12; g13 =

6、w13 * x + T13; g23 = w23 * x + T23; if(g12 0)&(g13 0) newiris1=newiris1;x; kind1=kind1+1; elseif(g12 0) newiris2=newiris2;x; elseif(g13 0)&(g23 0)&(g13 0) newiris1=newiris1;x; elseif(g12 0) kind2=kind2+1; newiris2=newiris2;x; elseif(g13 0)&(g23 0)&(g13 0) newiris1=newiris1;x; elseif(g12 0) newiris2=

7、newiris2;x; elseif(g13 0)&(g23 0 newsonar1=newsonar1;x; kind1=kind1+1; else newsonar2=newsonar2;x; endendfor i=81:110 x = Sonar2(i,:); g12 = w12 * x + T12; if g12 0 newsonar1=newsonar1;x; else newsonar2=newsonar2;x; kind2=kind2+1; endendcorrect= (kind1+kind2)/58;fprintf(n综合正确率:%.2f%nn,correct*100);(2)实验结果: 综合正确率=75.86%专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁