Commit 39d1c697e489535060a584351cd7f0f620b29edd

Authored by Charles Otto
1 parent 71a036f5

Fix evalClassification output

Showing 1 changed file with 7 additions and 8 deletions
openbr/core/classify.cpp
... ... @@ -66,11 +66,12 @@ void br::EvalClassification(const QString &predictedInput, const QString &truthI
66 66 counters[subject].falsePositive += 1.f / predictedSubjects.size();
67 67 }
68 68  
69   - QSharedPointer<Output> output(Output::make("", FileList() << "Subject" << "Count" << "Precision" << "Recall" << "F-score", FileList(counters.size())));
  69 + const QStringList keys = counters.keys();
  70 + QSharedPointer<Output> output(Output::make("", FileList() << "Count" << "Precision" << "Recall" << "F-score", FileList(keys)));
70 71  
71 72 int tpc = 0;
72 73 int fnc = 0;
73   - const QStringList keys = counters.keys();
  74 +
74 75 for (int i=0; i<counters.size(); i++) {
75 76 const QString &subject = keys[i];
76 77 const Counter &counter = counters[subject];
... ... @@ -80,12 +81,10 @@ void br::EvalClassification(const QString &amp;predictedInput, const QString &amp;truthI
80 81 const float precision = counter.truePositive / (float)(counter.truePositive + counter.falsePositive);
81 82 const float recall = counter.truePositive / (float)(counter.truePositive + counter.falseNegative);
82 83 const float fscore = 2 * precision * recall / (precision + recall);
83   - // problem -cao
84   - output->setRelative(File("", subject).get<int>("Label"), i, 0);
85   - output->setRelative(count, i, 1);
86   - output->setRelative(precision, i, 2);
87   - output->setRelative(recall, i, 3);
88   - output->setRelative(fscore, i, 4);
  84 + output->setRelative(count, i, 0);
  85 + output->setRelative(precision, i, 1);
  86 + output->setRelative(recall, i, 2);
  87 + output->setRelative(fscore, i, 3);
89 88 }
90 89  
91 90 qDebug("Overall Accuracy = %f", (float)tpc / (float)(tpc + fnc));
... ...