public ConfusionMatrix merge(ConfusionMatrix b) { Preconditions.checkArgument(labelMap.size() == b.getLabels().size(), "The label sizes do not match"); for (String correctLabel : this.labelMap.keySet()) { for (String classifiedLabel : this.labelMap.keySet()) { incrementCount(correctLabel, classifiedLabel, b.getCount(correctLabel, classifiedLabel)); } } return this; }
public ConfusionMatrix merge(ConfusionMatrix b) { Preconditions.checkArgument(labelMap.size() == b.getLabels().size(), "The label sizes do not match"); for (String correctLabel : this.labelMap.keySet()) { for (String classifiedLabel : this.labelMap.keySet()) { incrementCount(correctLabel, classifiedLabel, b.getCount(correctLabel, classifiedLabel)); } } return this; }
public ConfusionMatrix merge(ConfusionMatrix b) { Preconditions.checkArgument(labelMap.size() == b.getLabels().size(), "The label sizes do not match"); for (String correctLabel : this.labelMap.keySet()) { for (String classifiedLabel : this.labelMap.keySet()) { incrementCount(correctLabel, classifiedLabel, b.getCount(correctLabel, classifiedLabel)); } } return this; }
private static void checkValues(ConfusionMatrix cm) { int[][] counts = cm.getConfusionMatrix(); cm.toString(); assertEquals(counts.length, counts[0].length); assertEquals(3, counts.length); assertEquals(VALUES[0][0], counts[0][0]); assertEquals(VALUES[0][1], counts[0][1]); assertEquals(VALUES[1][0], counts[1][0]); assertEquals(VALUES[1][1], counts[1][1]); assertTrue(Arrays.equals(new int[3], counts[2])); // zeros assertEquals(OTHER[0], counts[0][2]); assertEquals(OTHER[1], counts[1][2]); assertEquals(3, cm.getLabels().size()); assertTrue(cm.getLabels().contains(LABELS[0])); assertTrue(cm.getLabels().contains(LABELS[1])); assertTrue(cm.getLabels().contains(DEFAULT_LABEL)); }
private static void checkAccuracy(ConfusionMatrix cm) { Collection<String> labelstrs = cm.getLabels(); assertEquals(3, labelstrs.size()); assertEquals(25.0, cm.getAccuracy("Label1"), EPSILON); assertEquals(55.5555555, cm.getAccuracy("Label2"), EPSILON); assertTrue(Double.isNaN(cm.getAccuracy("other"))); }
@Test public void testGetMatrix() { ConfusionMatrix confusionMatrix = fillConfusionMatrix(VALUES, LABELS, DEFAULT_LABEL); Matrix m = confusionMatrix.getMatrix(); Map<String, Integer> rowLabels = m.getRowLabelBindings(); assertEquals(confusionMatrix.getLabels().size(), m.numCols()); assertTrue(rowLabels.keySet().contains(LABELS[0])); assertTrue(rowLabels.keySet().contains(LABELS[1])); assertTrue(rowLabels.keySet().contains(DEFAULT_LABEL)); assertEquals(2, confusionMatrix.getCorrect(LABELS[0])); assertEquals(20, confusionMatrix.getCorrect(LABELS[1])); assertEquals(0, confusionMatrix.getCorrect(DEFAULT_LABEL)); }