判别分析MATLAB实现案例.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
判别分析MATLAB实现案例

%-------------------------------------------------------------------------- % 读取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范围的数据,即样本的分组信息数据, group = xlsread(examp10_01.xls,,B2:B47); obs = [1 : 50]; % 企业的编号 %**********************************距离判别********************************* % 距离判别,判别函数类型为mahalanobis,返回判别结果向量C和误判概率err [C,err] = classify(sample,training,group,mahalanobis); [obs, C] % 查看判别结果 err % 查看误判概率 %-------------------------------------------------------------------------- % 加载fisheriris.mat中数据,进行贝叶斯判别 %-------------------------------------------------------------------------- %********************************加载数据*********************************** load fisheriris % 把文件fisheriris.mat中数据导入MATLAB工作空间 %**********************************查看数据********************************* head0 = {Obj, x1, x2, x3, x4, Class}; % 设置表头 [head0; num2cell([[1:150], meas]), species] % 以元胞数组形式查看数据 %*********************************贝叶斯判别******************************** % 用meas和species作为训练样本,创建一个朴素贝叶斯分类器对象ObjBayes ObjBayes = NaiveBayes.fit(meas, species); % 利用所创建的朴素贝叶斯分类器对象对训练样本进行判别,返回判别结果pre0,pre0也是字符串元胞向量 pre0 = ObjBayes.predict(meas); % 利用confusionmat函数,并根据species和pre0创建混淆矩阵(包含总的分类信息的矩阵) [CLMat, order] = confusionmat(species, pre0); % 以元胞数组形式查看混淆矩阵 [[{From/To},order];order, num2cell(CLMat)] % 查看误判样品编号 gindex1 = grp2idx(pre0); % 根据分组变量pre0生成一个索引向量gindex1 gindex2 = grp2idx(species); % 根据分组变量species生成一个索引向量gindex2 errid = find(gindex1 ~= gindex2) % 通过对比两个索引向量,返回误判样品的观测序号向量 % 查看误判样品的误判情况 head1 = {Obj, From, To}; % 设置表头 % 用num2cell函数将误判样品的观测序号向量errid转为元胞向量,然后以元胞数组形式查看误判结果 [head1; num2cell(errid

文档评论(0)

cuotian + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档