SAMOA-58: need more decimal digits
diff --git a/samoa-api/src/main/java/org/apache/samoa/evaluation/F1ClassificationPerformanceEvaluator.java b/samoa-api/src/main/java/org/apache/samoa/evaluation/F1ClassificationPerformanceEvaluator.java
index 726f487..7ad4292 100644
--- a/samoa-api/src/main/java/org/apache/samoa/evaluation/F1ClassificationPerformanceEvaluator.java
+++ b/samoa-api/src/main/java/org/apache/samoa/evaluation/F1ClassificationPerformanceEvaluator.java
@@ -100,7 +100,7 @@
Measurement[] measurements = new Measurement[this.numClasses];
for (int i = 0; i < this.numClasses; i++) {
String ml = String.format("class %s precision", i);
- measurements[i] = new Measurement(ml, getPrecision(i));
+ measurements[i] = new Measurement(ml, getPrecision(i), 10);
}
return measurements;
}
@@ -109,7 +109,7 @@
Measurement[] measurements = new Measurement[this.numClasses];
for (int i = 0; i < this.numClasses; i++) {
String ml = String.format("class %s recall", i);
- measurements[i] = new Measurement(ml, getRecall(i));
+ measurements[i] = new Measurement(ml, getRecall(i), 10);
}
return measurements;
}
@@ -118,7 +118,7 @@
Measurement[] measurements = new Measurement[this.numClasses];
for (int i = 0; i < this.numClasses; i++) {
String ml = String.format("class %s f1-score", i);
- measurements[i] = new Measurement(ml, getF1Score(i));
+ measurements[i] = new Measurement(ml, getF1Score(i), 10);
}
return measurements;
}
diff --git a/samoa-api/src/main/java/org/apache/samoa/moa/core/Measurement.java b/samoa-api/src/main/java/org/apache/samoa/moa/core/Measurement.java
index 8fc80c7..8a3d598 100644
--- a/samoa-api/src/main/java/org/apache/samoa/moa/core/Measurement.java
+++ b/samoa-api/src/main/java/org/apache/samoa/moa/core/Measurement.java
@@ -36,14 +36,19 @@
private static final long serialVersionUID = 1L;
protected String name;
-
protected double value;
+ protected int fractionDigits;
public Measurement(String name, double value) {
this.name = name;
this.value = value;
}
+ public Measurement(String name, double value, int fractionDigits) {
+ this(name, value);
+ this.fractionDigits = fractionDigits;
+ }
+
public String getName() {
return this.name;
}
@@ -110,6 +115,6 @@
public void getDescription(StringBuilder sb, int indent) {
sb.append(getName());
sb.append(" = ");
- sb.append(StringUtils.doubleToString(getValue(), 3));
+ sb.append(StringUtils.doubleToString(getValue(), this.fractionDigits));
}
}