📄 prueba_flores_lda.m
字号:
%function prueba_FLORES_LDA
clc,close all,clear all;
%Problema de 3 Clases y 4 variables
SETOSA=1;
VIRGINIC=2;
VERSICOL=3;
%Datos vinculados a las clases
Datos =[5.0 3.3 1.4 0.2 SETOSA;
6.4 2.8 5.6 2.2 VIRGINIC;
4.8 3.1 1.6 0.2 SETOSA;
6.5 2.8 4.6 1.5 VERSICOL;
6.7 3.1 5.6 2.4 VIRGINIC;
6.3 2.8 5.1 1.5 VIRGINIC;
4.6 3.4 1.4 0.5 SETOSA;
6.9 3.1 5.1 2.3 VIRGINIC;
6.2 2.2 4.5 1.5 VERSICOL;
5.9 3.2 4.8 1.8 VERSICOL;
4.6 3.6 1.0 0.2 SETOSA;
6.1 3.0 4.6 1.4 VERSICOL;
6.0 2.7 5.1 1.6 VERSICOL;
6.5 3.0 5.2 2.0 VIRGINIC;
5.6 2.5 3.9 1.1 VERSICOL;
6.5 3.0 5.5 1.8 VIRGINIC;
5.8 2.7 5.1 1.9 VIRGINIC;
6.8 3.2 5.9 2.3 VIRGINIC;
5.1 3.3 1.7 0.5 SETOSA;
5.7 2.8 4.5 1.3 VERSICOL;
6.2 3.4 5.4 2.3 VIRGINIC;
7.7 3.8 6.7 2.2 VIRGINIC;
6.3 3.3 4.7 1.6 VERSICOL;
6.7 3.3 5.7 2.5 VIRGINIC;
7.6 3.0 6.6 2.1 VIRGINIC;
4.9 2.5 4.5 1.7 VIRGINIC;
5.5 3.5 1.3 0.2 SETOSA;
6.7 3.0 5.2 2.3 VIRGINIC;
7.0 3.2 4.7 1.4 VERSICOL;
6.4 3.2 4.5 1.5 VERSICOL;
6.1 2.8 4.0 1.3 VERSICOL;
5.9 3.0 5.1 1.8 VIRGINIC];
%**************************************************************************
% ENTRENAMIENTO
%**************************************************************************
%Datos de entrenamiento
Img1Entr = Datos([1:22],[1:4]);
MsckEntr = Datos([1:22],5);
f = lda( Img1Entr, MsckEntr);
g = qda( Img1Entr, MsckEntr);
h = logda( Img1Entr, MsckEntr);
whos
disp('_____________________LDA_________________');disp(f)
disp('_____________________QDA_________________');disp(g)
disp('____________________LOGDA________________');disp(h)
[lambdaF ratioF] = cvar(f); % canonical variates
%[lambdaG ratioG] = cvar(g); % canonical variates
%[lambdaH ratioH] = cvar(h); % canonical variates
%**************************************************************************
% VALIDACION
%**************************************************************************
%Datos de validacion
Img1Vald = Datos([23:end],[1:4]);
MsckVald = Datos([23:end],5);
%Utilizando un LDA
[MsckExpF postF] = classify(f, Img1Vald);
%Utilizando un QDA
[MsckExpG postG] = classify(g, Img1Vald);
%Utilizando un LOGDA
[MsckExpH postH] = classify(h, Img1Vald);
%comparacion de errores
[mFG alphaFG] = mcnemar(MsckVald, f(Img1Vald), g(Img1Vald));
[mFH alphaFH] = mcnemar(MsckVald, f(Img1Vald), h(Img1Vald));
[mHG alphaHG] = mcnemar(MsckVald, h(Img1Vald), g(Img1Vald));
fprintf('\n mFG =%f mFH =%f mHG =%f \n', mFG, mFH, mHG);
fprintf('\n alphaFG = %f alphaFH = %f alphaHG = %f \n', alphaFG, alphaFH, alphaHG);
%**************************************************************************
% GRAFICAS
%**************************************************************************
fg1=figure(1);
set(fg1,'Color','w');
set(fg1,'Name','MATRIZ DE CONFUSION','NumberTitle','on');
subplot(131); matrizConfusion(MsckExpF(:),MsckVald(:)); title('LDA');
subplot(132); matrizConfusion(MsckExpG(:),MsckVald(:)); title('QDA');
subplot(133); matrizConfusion(MsckExpH(:),MsckVald(:)); title('LOGDA');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -