Revision: 16714
http://sourceforge.net/p/gate/code/16714
Author: johann_p
Date: 2013-06-28 16:55:17 +0000 (Fri, 28 Jun 2013)
Log Message:
-----------
Add measurements for each class label to the
XML report file.
Modified Paths:
--------------
gate/trunk/plugins/Learning/src/gate/learning/EvaluationBasedOnDocs.java
gate/trunk/plugins/Learning/src/gate/learning/LearningAPIMain.java
Modified:
gate/trunk/plugins/Learning/src/gate/learning/EvaluationBasedOnDocs.java
===================================================================
--- gate/trunk/plugins/Learning/src/gate/learning/EvaluationBasedOnDocs.java
2013-06-28 15:21:53 UTC (rev 16713)
+++ gate/trunk/plugins/Learning/src/gate/learning/EvaluationBasedOnDocs.java
2013-06-28 16:55:17 UTC (rev 16714)
@@ -31,7 +31,9 @@
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
+import java.util.LinkedHashMap;
import java.util.List;
+import java.util.Map;
import java.util.Random;
import java.util.Set;
@@ -720,6 +722,19 @@
return logMes.toString();
}
+ /** Get the measures per label */
+ public Map<String,EvaluationMeasuresComputation> getMeasuresForEachLabel() {
+ List labels = new ArrayList(labels2InstNum.keySet());
+ Map<String,EvaluationMeasuresComputation> ret = new
LinkedHashMap<String,EvaluationMeasuresComputation>();
+ Collections.sort(labels);
+ for(int i = 0; i < labels.size(); ++i) {
+ String labelName = labels.get(i).toString();
+ ret.put(labelName,
(EvaluationMeasuresComputation)labels2MMR.get(labelName));
+ }
+ return ret;
+ }
+
+
/** Evaluate the test document by using the AnnotationDiff class. */
public void evaluateAnnDiff(Document doc, String classTypeOriginal,
String classTypeTest, String classFeat, Set labelSet, HashMap labels2MR) {
Modified: gate/trunk/plugins/Learning/src/gate/learning/LearningAPIMain.java
===================================================================
--- gate/trunk/plugins/Learning/src/gate/learning/LearningAPIMain.java
2013-06-28 15:21:53 UTC (rev 16713)
+++ gate/trunk/plugins/Learning/src/gate/learning/LearningAPIMain.java
2013-06-28 16:55:17 UTC (rev 16714)
@@ -22,6 +22,8 @@
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
+import java.util.Map;
+
import org.apache.log4j.Logger;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
@@ -796,9 +798,6 @@
"<time-started>"+date_time_started.substring(9)+"</time-started>");
log.println("<date-ended>"+date_time_ended.substring(0,8)+"</date-ended>"+
"<time-ended>"+date_time_ended.substring(9)+"</time-ended>");
- for(int i=0;i<learningSettings.evaluationconfig.kk;i++) {
-
- }
log.println("<overall>");
log.println("
<correct>"+evaluation.macroMeasuresOfResults.correct+"</correct>");
log.println("
<partialCorrect>"+evaluation.macroMeasuresOfResults.partialCor+"</partialCorrect>");
@@ -830,6 +829,25 @@
log.println(" </run>");
}
log.println("</per-run>");
+ log.println("<per-class>");
+ Map<String,EvaluationMeasuresComputation> perLabel =
evaluation.getMeasuresForEachLabel();
+ for(String label : perLabel.keySet()) {
+ EvaluationMeasuresComputation oneLabel = perLabel.get(label);
+ log.println(" <class>");
+ log.println("
<class-label><![CDATA["+label+"]]></class-label>");
+ log.println(" <correct>"+oneLabel.correct+"</correct>");
+ log.println("
<partialCorrect>"+oneLabel.partialCor+"</partialCorrect>");
+ log.println("
<spurious>"+oneLabel.spurious+"</spurious>");
+ log.println(" <missing>"+oneLabel.missing+"</missing>");
+ log.println("
<precision>"+oneLabel.precision+"</precision>");
+ log.println(" <recall>"+oneLabel.recall+"</recall>");
+ log.println(" <f1>"+oneLabel.f1+"</f1>");
+ log.println("
<precisionLenient>"+oneLabel.precisionLenient+"</precisionLenient>");
+ log.println("
<recallLenient>"+oneLabel.recallLenient+"</recallLenient>");
+ log.println("
<f1Lenient>"+oneLabel.f1Lenient+"</f1Lenient>");
+ log.println(" </class>");
+ }
+ log.println("</per-class>");
Format outputFormat = Format.getPrettyFormat();
outputFormat.setLineSeparator("\n");
outputFormat.setEncoding("UTF-8");
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
GATE-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gate-cvs