def test_confusion_matrix_updates_correctly(self): confusion_matrix = error_metrics.ConfusionMatrix() confusion_matrix.update(prediction=1, truth=0) # Add one false positive confusion_matrix.update(prediction=0, truth=0) # Add one true negative self.assertEqual(confusion_matrix.fp, 1) self.assertEqual(confusion_matrix.tn, 1)
def test_confusion_as_array_and_cost_as_array_line_up(self): cost_matrix = params.CostMatrix(tp=1, tn=2, fp=3, fn=4).as_array() confusion_matrix = error_metrics.ConfusionMatrix(tp=1, tn=2, fp=3, fn=4).as_array() self.assertAlmostEqual(np.linalg.norm(cost_matrix - confusion_matrix), 0)
def test_confusion_matrix_serializes(self): confusion_matrix = error_metrics.ConfusionMatrix() confusion_matrix.update(prediction=1, truth=0) # Add one false positive confusion_matrix.update(prediction=0, truth=0) # Add one true negative core.to_json(confusion_matrix)