-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathValidacionCruzadaClasificador.m
77 lines (64 loc) · 3.21 KB
/
ValidacionCruzadaClasificador.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
function [EvaluacionValidada]=ValidacionCruzadaClasificador(Evaluaciones)
% Evaluar el rendimiento de un clasificador usando validación cruzada
% Entrada:
% Evaluaciones=Evaluaciones de los clasificadores obtenidos en la
% validación cruzada, calculadas mediante EvaluarClasificador.m
% Salida:
% EvaluacionValidada=Resumen de las evaluaciones de los clasificadores
NumDatos=length(Evaluaciones);
% Proporción (tanto por uno) de aciertos de clasificación
for ndx=1:NumDatos
Aciertos(ndx)=Evaluaciones{ndx}.Aciertos;
end
EvaluacionValidada.Aciertos.Media=mean(Aciertos);
EvaluacionValidada.Aciertos.DesvTip=std(Aciertos);
EvaluacionValidada.Aciertos.Mediana=median(Aciertos);
% Rand index: A.K. Jain, R.C. Dubes, Algorithms for Clustering Data, Prentice-
% Hall, Englewood Cliffs, NJ, 1988. Pages 173-174.
% Valores en [0,1]: 1 indica clasificación perfecta
for ndx=1:NumDatos
RandIndex(ndx)=Evaluaciones{ndx}.RandIndex;
end
EvaluacionValidada.RandIndex.Media=mean(RandIndex);
EvaluacionValidada.RandIndex.DesvTip=std(RandIndex);
EvaluacionValidada.RandIndex.Mediana=median(RandIndex);
% Hubert's GAMMA statistic: A.K. Jain, R.C. Dubes, Algorithms for Clustering Data, Prentice-
% Hall, Englewood Cliffs, NJ, 1988. Pages 173-174.
% Valores en [-1,1], 1 indica correlación positiva (buena clasificación)
for ndx=1:NumDatos
HubertGamma(ndx)=Evaluaciones{ndx}.HubertGamma;
end
HubertGamma=HubertGamma(find(isfinite(HubertGamma)));
EvaluacionValidada.HubertGamma.Media=mean(HubertGamma);
EvaluacionValidada.HubertGamma.DesvTip=std(HubertGamma);
EvaluacionValidada.HubertGamma.Mediana=median(HubertGamma);
% Overall entropy: J. He, A.H. Tan, C.L. Tan, S.Y. Sung, On quantitative evaluation of
% clustering systems, in: W. Wu, H. Xiong, S. Shekhar (Eds.),
% Clustering and Information Retrieval, Kluwer Academic Publishers,
% Norwell, MA, 2003, pp. 105–133.
% OverallClusterEntropy, ClassEntropy y OverallEntropy están en el
% intervalo [0,1]. Cuanto más bajo el valor, mejor agrupamiento
for ndx=1:NumDatos
OverallClusterEntropy(ndx)=Evaluaciones{ndx}.OverallClusterEntropy;
end
EvaluacionValidada.OverallClusterEntropy.Media=mean(OverallClusterEntropy);
EvaluacionValidada.OverallClusterEntropy.DesvTip=std(OverallClusterEntropy);
EvaluacionValidada.OverallClusterEntropy.Mediana=median(OverallClusterEntropy);
for ndx=1:NumDatos
OverallClassEntropy(ndx)=Evaluaciones{ndx}.OverallClassEntropy;
end
EvaluacionValidada.OverallClassEntropy.Media=mean(OverallClassEntropy);
EvaluacionValidada.OverallClassEntropy.DesvTip=std(OverallClassEntropy);
EvaluacionValidada.OverallClassEntropy.Mediana=median(OverallClassEntropy);
for ndx=1:NumDatos
OverallEntropy(ndx)=Evaluaciones{ndx}.OverallEntropy;
end
EvaluacionValidada.OverallEntropy.Media=mean(OverallEntropy);
EvaluacionValidada.OverallEntropy.DesvTip=std(OverallEntropy);
EvaluacionValidada.OverallEntropy.Mediana=median(OverallEntropy);
for ndx=1:NumDatos
MeanSquareError(ndx)=Evaluaciones{ndx}.MeanSquareError;
end
EvaluacionValidada.MeanSquareError.Media=mean(MeanSquareError);
EvaluacionValidada.MeanSquareError.DesvTip=std(MeanSquareError);
EvaluacionValidada.MeanSquareError.Mediana=median(MeanSquareError);