function [EC1,EC0,TGE] = TasaErrorDisckNN(Datos,Clase,k)

% TasaErrorDisckNN
% Estimacion de la tasa de error en la regla kNN con dos poblaciones.
% Variables de salida:
%   EC1 = probabilidad de clasificar en Poblacion 0 un dato de la 1.
%   EC0 = probabilidad de clasificar en Poblacion 1 un dato de la 0.
%   TGE = tasa global de error.

[n,p] = size(Datos) ;
ErrorSi = zeros(n,1) ; 

for i =1:n
   if i == 1
       DatMenos1 = Datos([2:n],:) ; ClMenos1 = Clase([2:n],:) ;    
       ErrorSi(1) = ( kNNClasif(Datos(1,:),DatMenos1,ClMenos1,k) ~= Clase(1)) ;
   elseif i == n
       DatMenos1 = Datos([1:n-1],:) ; ClMenos1 = Clase([1:n-1],:) ;
       ErrorSi(n) = ( kNNClasif(Datos(n,:),DatMenos1,ClMenos1,k) ~= Clase(n)) ;
   else
       DatMenos1 = Datos([1:i-1,i+1:n],:) ; ClMenos1 = Clase([1:i-1,i+1:n],:) ;
       ErrorSi(i) = ( kNNClasif(Datos(i,:),DatMenos1,ClMenos1,k) ~= Clase(i)) ;
   end 
end

n1 = sum(Clase == 1) ;  n0 = sum(Clase == 0) ;
m1 = sum((Clase == 1).*ErrorSi) ;  m0 = sum((Clase == 0).*ErrorSi) ;
EC1 = m1/n1 ; EC0 = m0/n0 ;
TGE = (m0+m1)/(n0+n1) ;