41 int Row, Col,
Entry, EntryWidth=10000;
57 EntryWidth =
Max(EntryWidth, ConfusionMat[Row*(
MaxClass+1) + Col]);
61 EntryWidth = floor(Log(EntryWidth + 100.0) / Log(10.0)) + 2;
65 fprintf(
Of,
"\n\n\t");
68 fprintf(
Of,
"%*s(%c)", EntryWidth-3,
" ",
'a' + Col-1);
71 fprintf(
Of,
" <-" T_classified_as
"\n\t");
74 fprintf(
Of,
"%*.*s", EntryWidth, EntryWidth-2,
"----------");
83 if ( (Entry = ConfusionMat[Row*(
MaxClass+1) + Col]) )
85 fprintf(
Of,
" %*d", EntryWidth-1, Entry);
89 fprintf(
Of,
"%*s", EntryWidth,
" ");
92 fprintf(
Of,
" (%c): " T_class
" %s\n",
'a' + Row-1,
ClassName[Row]);
102 int Row, Col, EntryWidth=100000, ClassWidth=5;
112 Entry = ConfusionMat[Row*(
MaxClass+1) + Col];
116 TruePos[Row] +=
Entry;
120 FalseNeg[Row] +=
Entry;
121 FalsePos[Col] +=
Entry;
125 EntryWidth =
Max(EntryWidth, TruePos[Row] + FalseNeg[Row]);
129 EntryWidth = floor(Log(EntryWidth + 100.0) / Log(10.0)) + 2;
133 fprintf(
Of,
"\n\n\t %-*s %*s %*s %*s\n\t %*s %*s %*s %*s\n",
142 fprintf(
Of,
"\t %-*s %*s %*s %*s\n",
146 EntryWidth,
"-----");
150 fprintf(
Of,
"\t %-*s %*d %*d %*d\n",
152 EntryWidth, TruePos[Row] + FalseNeg[Row],
153 EntryWidth, FalsePos[Row],
154 EntryWidth, FalseNeg[Row]);
179 if ( Usage[Att] > Usage[Best] ) Best = Att;
182 if ( ! Best || Usage[Best] < 0.01 * Tests )
break;
186 fprintf(
Of, T_Usage);
190 fprintf(
Of,
"\t%7d%% %s\n",
191 (
int) ((100 * Usage[Best]) / Tests + 0.5),
AttName[Best]);