



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、%-%读取 examp10_01.xls 中数据,进行距离判别%-%*读取数据*% 读取文件 examp10_01.xls 的第 1 个工作表中 C2:F51 范围的数据, 即全部样本数据, 包括未判企业sample = xlsread(examp10_01.xls,C2:F51);% 读取文件 examp10_01.xls 的第 1 个工作表中 C2:F47 范围的数据,即已知组别的样本数据,training = xlsread(examp10_01.xls,C2:F47);% 读取文件 examp10_01.xls 的第 1 个工作表中 B2:B47 范围的数据,即样本的分组信息数据,gr
2、oup = xlsread(examp10_01.xls,B2:B47);obs = 1 : 50;% 企业的编号%*距离判别 *% 距离判别,判别函数类型为mahalanobis,返回判别结果向量C 和误判概率C,err = classify(sample,training,group,mahalanobis);obs, C% 查看判别结果err% 查看误判概率err%-%加载 fisheriris.mat 中数据,进行贝叶斯判别%-%*load fisheriris% 把文件加载数据 *fisheriris.mat 中数据导入MATLAB工作空间%*head0 = Obj, x1, x2,
3、 x3, x4, Class;head0; num2cell(1:150, meas), species查看数据 *% 设置表头% 以元胞数组形式查看数据%*贝叶斯判别 *% 用 meas 和 species 作为训练样本,创建一个朴素贝叶斯分类器对象ObjBayesObjBayes = NaiveBayes.fit(meas, species);% 利用所创建的朴素贝叶斯分类器对象对训练样本进行判别,返回判别结果pre0, pre0也是字符串元胞向量pre0 = ObjBayes.predict(meas);% 利用 confusionmat 函数,并根据 species 和 pre0 创建
4、混淆矩阵 (包含总的分类信息的矩阵)CLMat, order = confusionmat(species, pre0);% 以元胞数组形式查看混淆矩阵From/To,order;order, num2cell(CLMat)% 查看误判样品编号gindex1 = grp2idx(pre0); gindex2 = grp2idx(species);% 根据分组变量pre0 生成一个索引向量gindex1% 根据分组变量species 生成一个索引向量gindex2errid = find(gindex1 = gindex2)% 通过对比两个索引向量,返回误判样品的观测序号向量% 查看误判样品的误
5、判情况head1 = Obj, From, To;% 设置表头% 用num2cell函数将误判样品的观测序号向量errid转为元胞向量, 然后以元胞数组形式查看误判结果head1; num2cell(errid), species(errid), pre0(errid)% 对未知类别样品进行判别% 定义未判样品观测值矩阵 xx = 5.82.71.80.735.63.13.81.86.12.54.71.16.12.65.71.95.13.16.50.625.83.73.90.135.72.71.10.126.43.22.41.66.731.91.16.83.57.91;% 利用所创建的朴素贝叶
6、斯分类器对象对未判样品进行判别,返回判别结果pre1, pre1也是字符串元胞向量pre1 = ObjBayes.predict(x)%-%加载 fisheriris.mat 中数据,进行Fisher%-判别%*load fisheriris% 把文件加载数据 *fisheriris.mat 中数据导入MATLAB工作空间%*待判样品*% 定义待判样品观测值矩阵xx = 5.82.71.80.735.63.13.81.86.12.54.71.16.12.65.71.95.13.16.50.625.83.73.90.135.72.71.10.126.43.22.41.66.731.91.16.8
7、3.57.91;%*Fisher判别 *% 利用fisher函数进行判别,返回各种结果(见fisher函数的注释)outclass,TabCan,TabL,TabCon,TabM,TabG = fisher(x,meas,species)%*绘制两个判别式得分的散点图*% 利用 fisher 函数进行判别,返回各种结果,其中ts 为判别式得分outclass,TabCan,TabL,TabCon,TabM,TabG,ts = fisher(x,meas,species);% 提取各类的判别式得分ts1 = ts(ts(:,1) = 1,:);% setosa类的判别式得分ts2 = ts(ts
8、(:,1) = 2,:);% versicolor 类的判别式得分ts3 = ts(ts(:,1) = 3,:);% virginica 类的判别式得分plot(ts1(:,2),ts1(:,3),ko)% setosa类的判别式得分的散点图hold onplot(ts2(:,2),ts2(:,3),k*)% versicolor 类的判别式得分的散点图plot(ts3(:,2),ts3(:,3),kp)% virginica 类的判别式得分的散点图legend(setosa 类 ,versicolor 类 ,virginica 类 );%加标注框xlabel( 第一判别式得分);%给 X 轴
9、加标签ylabel( 第二判别式得分);%给 Y 轴加标签%*只用一个判别式进行Fisher 判别 *% 令 fisher 函数的第 4 个输入为 0.5,就可以只用一个判别式进行判别outclass,TabCan,TabL,TabCon,TabM,TabG = fisher(x,meas,species,0.5)functionoutclass,TabCan,TabL,TabCon,TabM,TabG,trainscore=fisher(sampledata,training,group,contri)%FISHER判别分析 .%class = fisher(sampledata,train
10、ing,group)根据训练样本training 构造判别式,% 利用所有判别式对待判样品sampledata 进行判别 . sampledata 和 training 是具有相同%列数的矩阵,它们的每一行对应一个观测,每一列对应一个变量. group 是 training 对% 应的分组变量,它的每一个元素定义了training 中相应观测所属的类 . group 可以是一%个分类变量,数值向量,字符串数组或字符串元胞数组. training 和 group 必须具有相同的行数 . fisher 函数把 group 中的 NaN 或空字符串作为缺失数据,从而忽略training% 中相应的观
11、测 . class 中的每个元素指定了 sampledata 中的相应观测所判归的类 ,它和% group 具有相同的数据类型 .%class = fisher(sampledata,training,group,contri)根据累积贡献率不低于contri ,确定需要使用的判别式个数,默认情况下,使用所有判别式进行判别是一个在 (0, 1 区间内取值的标量,用来指定累积贡献率的下限. contri%class, TabCan = fisher(.) 以表格形式返回所用判别式的系数向量,若contri% 取值为 1,则返回所有判别式的系数向量. TabCan 是一个元胞数组,形如%Varia
12、blecan1can2%x1-0.2087 0.0065%x2-0.3862 0.5866%x3 0.5540-0.2526%x4 0.7074 0.7695% class, TabCan, TabL = fisher(.) 以表格形式返回所有特征值,贡献率,累积% 贡献率等 . TabL 是一个元胞数组,形如%EigenvalueDifferenceProportionCumulative%32.191931.90650.99120.9912%0.28540.00881%class, TabCan, TabL, TabCon = fisher(.) 以表格形式返回混淆矩阵(包含总%的分类信息
13、的矩阵). TabCon 是一个元胞数组,形如%From/Tosetosaversicolorvirginica%setosa5000%versicolor0482%virginica0149%class, TabCan, TabL, TabCon, TabM = fisher(.) 以表格形式返回误判矩阵 .% TabM 是一个元胞数组,形如%ObjFromTo% 71versicolorvirginica% 84versicolorvirginica%134virginicaversicolor% class, TabCan, TabL, TabCon, TabM, TabG = fish
14、er(.) 将所用判别式作用%在各组的组均值上,得到组均值投影矩阵,以表格形式返回这个矩阵. TabG 是一个元胞% 数组,形如%Groupcan1can2%setosa-1.38491.8636%versicolor 0.98921.6081%virginica 1.98521.9443% class, TabCan, TabL, TabCon, TabM, TabG, trainscore = fisher(.) 返回% 训练样品所对应的判别式得分trainscore. trainscore 的第一列为各训练样品原本所% 属类的类序号,第 i+1 列为第 i 个判别式得分 .% Copyr
15、ight 2009 xiezhh.%$Revision: 1.0.0.0 $Date: 2009/10/03 10:40:34 $if nargin 0);nusedgroups = length(nonemptygroups);% 判断是否有空的组if ngroups nusedgroupswarning( 警告 : 有空的组 .);endn,d = size(training);if size(gindex,1) = nerror(错误 : 输入参数大小不匹配,GROUP 与 TRAINING必须具有相同的行数.);elseif isempty(sampledata)sampledata
16、= zeros(0,d,class(sampledata);elseif size(sampledata,2) = derror(错误 : 输入参数大小不匹配, SAMPLEDATA与 TRAINING必须具有相同的列数.);end% 设置 contri 的默认值为1,并限定contri 在 (0, 1 内取值if nargin 1 | contri = 0error(错误 : contri必须是一个在 (0, 1 内取值的标量.);endif any(gsize = 1)error(错误 : TRAINING中的每个组至少应有两个观测.);end% 计算各组的组均值gmeans = NaN(
17、ngroups, d);for k = nonemptygroupsgmeans(k,:) = mean(training(gindex=k,:),1);end% 计算总均值totalmean = mean(training,1);% 计算组内离差平方和矩阵E 和组间离差平方和矩阵E = zeros(d);B=E;for k = nonemptygroupsB% 分别估计各组的组内离差平方和矩阵.Q,Rk = qr(bsxfun(minus,training(gindex=k,:),gmeans(k,:), 0); % 各组的组内离差平方和矩阵: AkHat = Rk*Rk% 判断各组的组内离
18、差平方和矩阵的正定性s = svd(Rk);if any(s = contri);CumContGeCon = CumContGeCon(1);V = V(:, 1:CumContGeCon);% 需要使用的判别式系数矩阵% 以表格形式返回所用判别式的系数向量,若contri 取值为 1,% 则返回所有判别式的系数向量 . TabCan 是一个元胞数组TabCan = cell(d+1, CumContGeCon+1);TabCan(1, 1) = Variable;TabCan(2:end, 1) = strcat(x,cellstr(num2str(1:d);TabCan(1, 2:end
19、) = strcat(can,cellstr(num2str(1:CumContGeCon); TabCan(2:end, 2:end) = num2cell(V);% 将训练样品与待判样品放在一起进行判别m = size(sampledata,1);gv = gmeans*V;stv = sampledata; training*V;nstv = size(stv, 1);message = ;outclass = NaN(nstv, 1);for i = 1:nstvobji = bsxfun(minus,stv(i,:),gv);obji = sum(obji.2, 2);idclass = find(obji = min(obji);if length(idclass) 1idclass = idclass(1);message = 警告 : 出现了一个或多个结;endoutclass(i) = idclass;endwarning(message);trclass = outclass(m+(1:n);%训练样品的判别结果(由类序号构成的向量)outclass = outclass(1:m);%待判样品的判别结果(由类序号构成的向量)outclass = gle
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高层土方施工方案
- 楼板管口灌浆施工方案
- 房产委托代理合同
- 旅游酒店业智慧客房服务系统建设方案
- 桥梁基础注浆施工方案
- 铁艺别墅施工方案
- 冷冻机房施工方案
- 低压柜施工方案
- phc静压桩施工方案
- 顺德沥青铺路工程施工方案
- 23G409先张法预应力混凝土管桩
- 2024年江苏省中小学生金钥匙科技竞赛(高中组)考试题库(含答案)
- DBJ53/T-39-2020 云南省民用建筑节能设计标准
- 2023年山东春季高考数学试题
- 初中 初一 劳动教育《举办一次家庭聚会》教学设计
- 人教版六年级上册数学第六单元测试卷(百分数(一))
- 《基础英语》课件 Unit 1 Thinking as a Hobby
- 雅思大作文资料_十大类题材_解析详细_应有尽有(最好全部打印后看_非常全)
- 小学综合实践食品添加剂
- 电气消防设计说明专篇
- GCP知识考核试题与答案
评论
0/150
提交评论