Commit 39d1c697e489535060a584351cd7f0f620b29edd
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 &predictedInput, const QString &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)); | ... | ... |