66 CaseNo i, Errs, Cases, Bp, Excl=0;
67 double ErrWt, ExclWt=0, OKWt, ExtraErrWt, NFact, MinWt=1.0, a, b;
120 fprintf(
Of,
"\n----- " F_Trial
" %d: -----\n",
Trial);
188 fprintf(
Of,
"\n" T_Default_class
": %s\n",
198 if ( Trial ==
TRIALS-1 )
continue;
203 ErrWt = Errs = OKWt = Bp = 0;
204 CheckExcl = ( Trial+1 >
TRIALS / 2.0 );
213 Wrong[i] = Wrong[Bp];
230 if ( BVote[Pred] > BVote[Best] ) BVote[0] = Best = Pred;
238 if ( BVote[Best] > BVote[Real] + (
TRIALS-1) -
Trial )
245 Wrong[i] = Wrong[Bp];
275 if ( Trial && NoStructure || ErrWt / Cases >= 0.49 )
277 TRIALS = ( Trial ? Trial : 1 );
286 ExtraErrWt = 0.25 * (OKWt - ErrWt);
287 a = (OKWt - ExtraErrWt) / OKWt;
288 b = ExtraErrWt / Errs;
292 NFact = Cases / (OKWt + ErrWt);
325 if (
MaxCase > 4000 && MinWt <= 0.2 )
349 fprintf(
Of, T_Abandoned);
467 *
StdR[] = {
" Before Pruning ",
468 " ---------------- ",
469 " " F_SizeErrors
" " },
471 *
StdP[] = {
" " F_DecisionTree16
" ",
472 " ---------------- ",
473 " " F_SizeErrors
" " },
475 *
StdPC[] = {
" " F_DecisionTree23
" ",
476 " ----------------------- ",
477 " " F_SizeErrorsCost
" " },
484 " -----------------------",
485 " " F_NoErrorsCost };
507 int x, u, SaveUtility;
508 CaseNo *ConfusionMat, *Usage, i, RawErrs=0, Errs=0;
509 double ECost=0, Tests;
512 CMInfo = Flags & CMINFO;
513 UsageInfo = Flags & USAGEINFO;
556 Verbosity(1, fprintf(
Of,
"%s",
StdR[x]))
578 if ( PredClass != RealClass )
587 if ( PredClass != RealClass )
590 if (
MCost ) ECost +=
MCost[PredClass][RealClass];
595 ConfusionMat[RealClass*(
MaxClass+1)+PredClass]++;
608 fprintf(
Of,
" %4d %4d(%4.1f%%)",
609 RuleSet[0]->SNRules, Errs, 100 * Errs / Tests);
617 fprintf(
Of,
" %4d %4d(%4.1f%%) ",
623 fprintf(
Of,
" %4d %4d(%4.1f%%)",
629 fprintf(
Of,
"%7.2f", ECost / Tests);
632 fprintf(
Of,
" <<\n");
650 fprintf(
Of,
"\n" T_Rule_utility_summary
":\n\n"
651 "\t" F_Rules
"\t " F_Errors
"%s\n"
652 "\t" F_URules
"\t " F_UErrors
"%s\n",
653 (
MCost ?
" " F_Cost :
"" ),
654 (
MCost ?
" " F_UCost :
"" ));
658 fprintf(
Of,
"\t%s%d\t %4d(%4.1f%%)",
684 CaseNo *ConfusionMat, *Usage, i, *Errs, BoostErrs=0;
685 double *ECost, BoostECost=0, Tests;
688 CMInfo = Flags & CMINFO;
689 UsageInfo = Flags & USAGEINFO;
732 if ( PredClass != RealClass )
735 if (
MCost ) BoostECost +=
MCost[PredClass][RealClass];
740 ConfusionMat[RealClass*(
MaxClass+1)+PredClass]++;
764 fprintf(
Of,
"%4d\t", t);
768 fprintf(
Of,
" %4d %4d(%4.1f%%)",
769 RuleSet[t]->SNRules, Errs[t], 100 * Errs[t] / Tests);
773 fprintf(
Of,
" %4d %4d(%4.1f%%)",
779 fprintf(
Of,
"%7.2f", ECost[t] / Tests);
789 fprintf(
Of, F_Boost
"\t %9d(%4.1f%%)",
790 BoostErrs, 100 * BoostErrs / Tests);
794 fprintf(
Of, F_Boost
"\t %4d(%4.1f%%)",
795 BoostErrs, 100 * BoostErrs / Tests);
800 fprintf(
Of,
"%7.2f", BoostECost / Tests);
803 fprintf(
Of,
" <<\n");
838 for ( Att =
MaxAtt ; Att > 0 ; Att-- )