use of de.unidue.ltl.evaluation.measures.regression.MeanAbsoluteError in project dkpro-tc by dkpro.
the class SemanticTextSimilarityDemoTest method testTrainTest.
@Test
public void testTrainTest() throws Exception {
experiment.runTrainTest(pSpace);
// weka offers to calculate this value too - we take weka as "reference" value
weka.classifiers.Evaluation eval = (weka.classifiers.Evaluation) SerializationHelper.read(new File(ContextMemoryReport.id2outcomeFiles.get(0).getParent() + "/" + WekaTestTask.evaluationBin).getAbsolutePath());
double wekaMeanAbsoluteError = eval.meanAbsoluteError();
MeanAbsoluteError mae = new MeanAbsoluteError(Tc2LtlabEvalConverter.convertRegressionModeId2Outcome(ContextMemoryReport.id2outcomeFiles.get(0)));
assertEquals(wekaMeanAbsoluteError, mae.getResult(), 0.1);
}
use of de.unidue.ltl.evaluation.measures.regression.MeanAbsoluteError in project dkpro-tc by dkpro.
the class MetricComputationUtil method getResults.
public static Map<String, String> getResults(File id2o, String mode) throws Exception {
if (mode == null) {
throw new IllegalArgumentException("The learning mode is null");
}
Map<String, String> map = new HashMap<>();
if (mode.equals(Constants.LM_SINGLE_LABEL)) {
EvaluationData<String> data = Tc2LtlabEvalConverter.convertSingleLabelModeId2Outcome(id2o);
Accuracy<String> acc = new Accuracy<>(data);
map.put(acc.getClass().getSimpleName(), "" + acc.getResult());
} else if (mode.equals(Constants.LM_REGRESSION)) {
EvaluationData<Double> data = Tc2LtlabEvalConverter.convertRegressionModeId2Outcome(id2o);
EvaluationMeasure<?> m = new RSquared(data);
map.put(m.getClass().getSimpleName(), getExceptionFreeResult(m));
m = new PearsonCorrelation(data);
map.put(m.getClass().getSimpleName(), getExceptionFreeResult(m));
m = new SpearmanCorrelation(data);
map.put(m.getClass().getSimpleName(), getExceptionFreeResult(m));
m = new MeanSquaredError(data);
map.put(m.getClass().getSimpleName(), getExceptionFreeResult(m));
m = new MeanAbsoluteError(data);
map.put(m.getClass().getSimpleName(), getExceptionFreeResult(m));
} else if (mode.equals(Constants.LM_MULTI_LABEL)) {
EvaluationData<String> data = Tc2LtlabEvalConverter.convertMultiLabelModeId2Outcome(id2o);
EvaluationMeasure<?> m = new ExactMatchRatio<>(data);
map.put(m.getClass().getSimpleName(), getExceptionFreeResult(m));
EvaluationData<Integer> dataInt = Tc2LtlabEvalConverter.convertMultiLabelModeId2OutcomeUseInteger(id2o);
m = new HammingLoss(dataInt);
map.put(m.getClass().getSimpleName(), getExceptionFreeResult(m));
m = new MultilabelAccuracy(dataInt);
map.put(m.getClass().getSimpleName(), getExceptionFreeResult(m));
}
return map;
}
Aggregations