📄 matrizconfusion.m
字号:
function [C,rate]=matrizConfusion(Y,T)
%MATRIZCONFUSION
%
%SINTAXIS:
%
%MATRIZCONFUSION(X,TipoNor)
%
%EXPLICACION:
%
% Esta funcion calcula y grafica la matriz de confusion vinculada a los
% resultados de un clasificador atraves de la comparacion de datos
% obtenidos experimentalmente (por el clasificador) con datos obtendos
% teoricamente (puede ser por yun experto)
%
% NOTACION:
%
% K: Numero de clases.
% L: Numero de observaciones vinculadas a una clase
%
% ENTRADAS:
%
% Y [1xL]: Vector de etiquetas definidas por el clasificador (valores entre 1 y K)
% donde cada elemento esta vinculada a una unica observacion
% T [1xL]: Vector de etiquetas definidas teoricamente (valores entre 1 y K)
% donde cada elemento esta vinculada a una unica observacion
%
% SALIDAS:
%
%C[KxK]: Matriz de confusion
%rate[1x1]:Tasa de clasificacion
%
% CODIGO:
%
if(nargin==0)
prueba_matrizConfusion;
return;
end
NumObs = length(Y);
NumObs2 = length(T);
if(NumObs~=NumObs2)
error('Las salidas y los objetivos son diferentes');
end
NumClas=max(Y);
% Compute
total=sum([Y==T]);
rate=total*100/NumObs;
C=zeros(NumClas,NumClas);
for i=1:NumClas
for j=1:NumClas
C(i,j) = sum([Y==j].*[T==i]);
end
end
plotmat(C, 'k', 'k', 14,'%11.0f');
title(['Tasa Clasificacion: ' num2str(rate(1)) '%'], 'FontSize', 12);
%**************************************************************************
%**************************************************************************
%**************************************************************************
function prueba_matrizConfusion
clc, close all;
Y = [1 2 2 2 3 4 4 4 5 5 5];
T = [1 1 2 2 3 3 3 4 4 4 5];
matrizConfusion(Y,T)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -