Spaces:
Runtime error
Runtime error
from unittest import TestCase | |
from precision_recall_fscore_accuracy import PrecisionRecallFscoreAccuracy | |
class PrecisionRecallFscoreAccuracyTestBinary(TestCase): | |
""" | |
All of these tests are also used for multiset configuration. So please mind this and write the test in a way that | |
it is valid for both configurations (do not use same label multiple times). | |
""" | |
def setUp(self): | |
self.metric = PrecisionRecallFscoreAccuracy(average="binary") | |
def test_eok(self): | |
self.assertDictEqual( | |
{ | |
"precision": 1.0, | |
"recall": 1.0, | |
"fscore": 1.0, | |
"accuracy": 1.0, | |
}, | |
self.metric.compute( | |
predictions=[0, 1, 0], | |
references=[0, 1, 0] | |
) | |
) | |
def test_eok_string(self): | |
self.assertDictEqual( | |
{ | |
"precision": 1.0, | |
"recall": 1.0, | |
"accuracy": 1.0, | |
"fscore": 1.0 | |
}, | |
self.metric.compute( | |
predictions=["0", "1", "0"], | |
references=["0", "1", "0"] | |
) | |
) | |
def test_completely_different(self): | |
self.assertDictEqual( | |
{ | |
"precision": 0.0, | |
"recall": 0.0, | |
"accuracy": 0.0, | |
"fscore": 0.0 | |
}, | |
self.metric.compute( | |
predictions=[0, 1, 0], | |
references=[1, 0, 1] | |
) | |
) | |
def test_max_precision(self): | |
self.assertDictEqual( | |
{ | |
"precision": 1.0, | |
"recall": 0.5, | |
"accuracy": 0.5, | |
"fscore": 2 / 3 | |
}, | |
self.metric.compute( | |
predictions=[0, 1], | |
references=[1, 1] | |
) | |
) | |
def test_max_recall(self): | |
self.assertDictEqual( | |
{ | |
"precision": 0.5, | |
"recall": 1.0, | |
"accuracy": 0.5, | |
"fscore": 2 / 3 | |
}, | |
self.metric.compute( | |
predictions=[1, 1], | |
references=[1, 0] | |
) | |
) | |
def test_partial_match(self): | |
self.assertDictEqual( | |
{ | |
"precision": 0.5, | |
"recall": 0.5, | |
"accuracy": 0.5, | |
"fscore": 0.5 | |
}, | |
self.metric.compute( | |
predictions=[0, 1, 0, 1], | |
references=[1, 1, 0, 0] | |
) | |
) | |