⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.m

📁 实现了fisher线性分类器的功能,源码使用matlab编程,通俗易懂
💻 M
字号:
%main
clear;%清除内存变量
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Student数据进行判别%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fprintf('\n学生数据:\n');
fprintf('第一次:\n');
[TrainSet,TestSet]=ReadStudent;%读学生数据的文本文件,data1作为训练集,data2作为测试集
E1=Fisher(TrainSet,TestSet);
fprintf('第二次:\n');
[TestSet,TrainSet]=ReadStudent;%读学生数据的文本文件,data2作为训练集,data1作为测试集
E2=Fisher(TrainSet,TestSet);
fprintf('总的:\n');
E=E1+E2;
for k=1:4
    e1=E(k,1)/(TestSet.n1+TrainSet.n1);
    e2=E(k,2)/(TestSet.n2+TrainSet.n2);
    e=(E(k,1)+E(k,2))/(TestSet.n+TrainSet.n);
    fprintf('方法%d:错误率1=%.2f%%,错误率2=%.2f%%,总的错误率=%.2f%%\n',k,e1*100,e2*100,e*100);
end
clear;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 对sonar数据进行判别 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fprintf('\nsonar数据:\n');
E=[0,0;0,0;0,0;0,0];%建立根据y0取四种不同的值而得出各种累计错误率的存储矩阵
for i=1:10
    fprintf('第%d次:\n',i);
    train=['Sonar数据/shot_',int2str(i), '.data'];%Sonar数据的第i个训练集
    test=['Sonar数据/shot_',int2str(i), '.test'];%Sonar数据的第i个测试集    
    [TrainSet,TestSet]=ReadSonar(train,test);%读Sonar数据的第i个训练集,样本集
    E=E+Fisher(TrainSet,TestSet);%累计错误率
end
fprintf('总的:\n');
for k=1:4
    e1=E(k,1)/(TestSet.n1+TrainSet.n1);
    e2=E(k,2)/(TestSet.n2+TrainSet.n2);
    e=(E(k,1)+E(k,2))/(TestSet.n+TrainSet.n);
    fprintf('方法%d:第1类错误率=%.2f%%,第2类错误率=%.2f%%,总错误率=%.2f%%\n',k,e1*100,e2*100,e*100);
end
clear;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -