@@ -7,7 +7,9 @@ public class DATA_evaluation {
7
7
private int columnCount ;
8
8
private int numberOfClasses ;
9
9
private String [] testDataResults ;
10
- private int [][] confustionMatrix = new int [3 ][3 ];
10
+ private int [][] confustionMatrix ;
11
+
12
+ private boolean createConfusionMatrix ;
11
13
12
14
protected DATA_evaluation (String [] testDataResults , int columnCount , String [][][] predictedTestData , int [][] sortedProbability , int numberOfClasses ) {
13
15
this .testDataResults = testDataResults ;
@@ -18,20 +20,7 @@ protected DATA_evaluation(String[] testDataResults, int columnCount, String[][][
18
20
this .confustionMatrix = new int [this .numberOfClasses ][this .numberOfClasses ];
19
21
}
20
22
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 () {
35
24
36
25
// Resetting the confusion matrix
37
26
for (int i = 0 ; i < this .numberOfClasses ; i ++) {
@@ -70,4 +59,45 @@ protected void confusionMatrix() {
70
59
71
60
72
61
}
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
+ }
73
103
}
0 commit comments