Эх сурвалжийг харах

overall recognition rate implemented in ClassificationResults

bodesheim 12 жил өмнө
parent
commit
d2e947fcb2

+ 15 - 0
cbaselib/ClassificationResults.cpp

@@ -102,3 +102,18 @@ double ClassificationResults::getAverageRecognitionRate() const
   confusion.normalizeColumnsL1();
   return confusion.trace()/confusion.rows();  
 }
+
+double ClassificationResults::getOverallRecognitionRate() const
+{
+  const_iterator i = begin();
+  NICE::Matrix confusion ( i->scores.size(),i->scores.size(),0.0 );
+
+  for ( ; i != end(); i++ )
+  {
+    const ClassificationResult & r = *i;
+    uint classno_estimated = r.classno;
+    uint classno_groundtruth = r.classno_groundtruth;
+    confusion( classno_estimated, classno_groundtruth ) += 1;
+  }
+  return confusion.trace()/size();  
+}

+ 3 - 0
cbaselib/ClassificationResults.h

@@ -54,6 +54,9 @@ class ClassificationResults : public std::vector<ClassificationResult>
         
         /** return average recognition rate, useful for  multi-class problems */
         double getAverageRecognitionRate() const;
+        
+        /** return overall recognition rate, useful for  multi-class problems */
+        double getOverallRecognitionRate() const;        
 };
 
 

+ 1 - 1
math/cluster/GMM.cpp

@@ -9,7 +9,7 @@
 
 #include "vislearning/math/cluster/KMeans.h"
 
-#define DEBUGGMM
+// #define DEBUGGMM
 
 using namespace OBJREC;
 using namespace NICE;