@@ -7,7 +7,9 @@ public class DATA_evaluation {
77 private int columnCount ;
88 private int numberOfClasses ;
99 private String [] testDataResults ;
10- private int [][] confustionMatrix = new int [3 ][3 ];
10+ private int [][] confustionMatrix ;
11+
12+ private boolean createConfusionMatrix ;
1113
1214 protected DATA_evaluation (String [] testDataResults , int columnCount , String [][][] predictedTestData , int [][] sortedProbability , int numberOfClasses ) {
1315 this .testDataResults = testDataResults ;
@@ -18,20 +20,7 @@ protected DATA_evaluation(String[] testDataResults, int columnCount, String[][][
1820 this .confustionMatrix = new int [this .numberOfClasses ][this .numberOfClasses ];
1921 }
2022
21- protected void confusionMatrix () {
22-
23- System .out .println (this .testDataResults [0 ]);
24- System .out .println (this .columnCount );
25- System .out .println (this .predictedTestData [0 ][0 ][0 ]);
26- System .out .println (this .predictedTestData [0 ][0 ][1 ]);
27- System .out .println (this .predictedTestData [0 ][1 ][0 ]);
28- System .out .println (this .predictedTestData [0 ][1 ][1 ]);
29- System .out .println (this .predictedTestData [0 ][2 ][0 ]);
30- System .out .println (this .predictedTestData [0 ][2 ][1 ]);
31- System .out .println (this .sortedProbability [0 ][0 ]);
32- System .out .println (this .sortedProbability [0 ][1 ]);
33- System .out .println (this .sortedProbability [0 ][2 ]);
34-
23+ private void confusionMatrix () {
3524
3625 // Resetting the confusion matrix
3726 for (int i = 0 ; i < this .numberOfClasses ; i ++) {
@@ -70,4 +59,45 @@ protected void confusionMatrix() {
7059
7160
7261 }
62+
63+ protected int [][] getConfusionMatrix () {
64+ if (!createConfusionMatrix ) {
65+ confusionMatrix ();
66+ }
67+
68+ return this .confustionMatrix ;
69+ }
70+ protected float [][] getConfusionMatrixNormalized () {
71+ if (!createConfusionMatrix ) {
72+ confusionMatrix ();
73+ }
74+ float [][] confusionMatrixNormalized = new float [this .numberOfClasses ][this .numberOfClasses ];
75+
76+ for (int i = 0 ; i < this .numberOfClasses ; i ++) {
77+ int tempCount = 0 ;
78+ for (int j = 0 ; j < this .numberOfClasses ; j ++) {
79+ tempCount += this .confustionMatrix [i ][j ];
80+ }
81+
82+ if (tempCount == 0 ) {
83+ continue ;
84+ }
85+ for (int j = 0 ; j < this .numberOfClasses ; j ++) {
86+ //System.out.println(this.confustionMatrix[i][j]);
87+ //System.out.println(tempCount);
88+ confusionMatrixNormalized [i ][j ] = (float )this .confustionMatrix [i ][j ] / (float )tempCount ;
89+ }
90+
91+ }
92+
93+ for (int i = 0 ; i < this .numberOfClasses ; i ++) {
94+ for (int j = 0 ; j < this .numberOfClasses ; j ++) {
95+ System .out .print (confusionMatrixNormalized [i ][j ] + " " );
96+ }
97+ System .out .println ();
98+ }
99+
100+
101+ return confusionMatrixNormalized ;
102+ }
73103}
0 commit comments