diff --git a/dan/ocr/evaluate.py b/dan/ocr/evaluate.py index c5e79fcee4e3797b065a1519fde00db99f642551..fece90a0a71694eb4608821a3badec0a62ccb33e 100644 --- a/dan/ocr/evaluate.py +++ b/dan/ocr/evaluate.py @@ -89,7 +89,14 @@ def eval_nerval( if not (ground_truths and predictions): continue - scores = evaluate(ground_truths, predictions, threshold) + scores = { + key: { + k: round(value * 100, 2) if k in ["P", "R", "F1"] else value + for k, value in values.items() + } + for key, values in evaluate(ground_truths, predictions, threshold).items() + } + print(f"\n##### {split_name}\n") print_results(scores) diff --git a/tests/data/evaluate/metrics_table.md b/tests/data/evaluate/metrics_table.md index 76d976c389571a16bb42e4f354d5b208f09faa64..107bef4188e44a6f8e5509c74b7ceb8d4ded4625 100644 --- a/tests/data/evaluate/metrics_table.md +++ b/tests/data/evaluate/metrics_table.md @@ -12,38 +12,38 @@ | tag | predicted | matched | Precision | Recall | F1 | Support | |:---------:|:---------:|:-------:|:---------:|:------:|:-----:|:-------:| -| Surname | 2 | 2 | 1.0 | 1.0 | 1.0 | 2 | +| Surname | 2 | 2 | 100.0 | 100.0 | 100.0 | 2 | | Patron | 2 | 0 | 0.0 | 0.0 | 0 | 1 | -| Operai | 2 | 2 | 1.0 | 1.0 | 1.0 | 2 | -| Louche | 2 | 1 | 0.5 | 0.5 | 0.5 | 2 | -| Koala | 2 | 2 | 1.0 | 1.0 | 1.0 | 2 | -| Firstname | 2 | 2 | 1.0 | 1.0 | 1.0 | 2 | -| Chalumeau | 1 | 1 | 1.0 | 1.0 | 1.0 | 1 | -| Batiment | 2 | 2 | 1.0 | 1.0 | 1.0 | 2 | -| All | 15 | 12 | 0.8 | 0.857 | 0.828 | 14 | +| Operai | 2 | 2 | 100.0 | 100.0 | 100.0 | 2 | +| Louche | 2 | 1 | 50.0 | 50.0 | 50.0 | 2 | +| Koala | 2 | 2 | 100.0 | 100.0 | 100.0 | 2 | +| Firstname | 2 | 2 | 100.0 | 100.0 | 100.0 | 2 | +| Chalumeau | 1 | 1 | 100.0 | 100.0 | 100.0 | 1 | +| Batiment | 2 | 2 | 100.0 | 100.0 | 100.0 | 2 | +| All | 15 | 12 | 80.0 | 85.71 | 82.76 | 14 | ##### val -| tag | predicted | matched | Precision | Recall | F1 | Support | -|:---------:|:---------:|:-------:|:---------:|:------:|:----:|:-------:| -| Surname | 1 | 0 | 0.0 | 0.0 | 0 | 1 | -| Patron | 1 | 1 | 1.0 | 1.0 | 1.0 | 1 | -| Operai | 1 | 0 | 0.0 | 0.0 | 0 | 1 | -| Louche | 1 | 1 | 1.0 | 1.0 | 1.0 | 1 | -| Koala | 1 | 1 | 1.0 | 1.0 | 1.0 | 1 | -| Firstname | 1 | 1 | 1.0 | 1.0 | 1.0 | 1 | -| Chalumeau | 1 | 1 | 1.0 | 1.0 | 1.0 | 1 | -| Batiment | 1 | 1 | 1.0 | 1.0 | 1.0 | 1 | -| All | 8 | 6 | 0.75 | 0.75 | 0.75 | 8 | +| tag | predicted | matched | Precision | Recall | F1 | Support | +|:---------:|:---------:|:-------:|:---------:|:------:|:-----:|:-------:| +| Surname | 1 | 0 | 0.0 | 0.0 | 0 | 1 | +| Patron | 1 | 1 | 100.0 | 100.0 | 100.0 | 1 | +| Operai | 1 | 0 | 0.0 | 0.0 | 0 | 1 | +| Louche | 1 | 1 | 100.0 | 100.0 | 100.0 | 1 | +| Koala | 1 | 1 | 100.0 | 100.0 | 100.0 | 1 | +| Firstname | 1 | 1 | 100.0 | 100.0 | 100.0 | 1 | +| Chalumeau | 1 | 1 | 100.0 | 100.0 | 100.0 | 1 | +| Batiment | 1 | 1 | 100.0 | 100.0 | 100.0 | 1 | +| All | 8 | 6 | 75.0 | 75.0 | 75.0 | 8 | ##### test | tag | predicted | matched | Precision | Recall | F1 | Support | |:---------:|:---------:|:-------:|:---------:|:------:|:-----:|:-------:| -| Surname | 1 | 1 | 1.0 | 1.0 | 1.0 | 1 | -| Louche | 1 | 1 | 1.0 | 1.0 | 1.0 | 1 | -| Koala | 1 | 1 | 1.0 | 1.0 | 1.0 | 1 | -| Firstname | 1 | 1 | 1.0 | 1.0 | 1.0 | 1 | +| Surname | 1 | 1 | 100.0 | 100.0 | 100.0 | 1 | +| Louche | 1 | 1 | 100.0 | 100.0 | 100.0 | 1 | +| Koala | 1 | 1 | 100.0 | 100.0 | 100.0 | 1 | +| Firstname | 1 | 1 | 100.0 | 100.0 | 100.0 | 1 | | Chalumeau | 1 | 0 | 0.0 | 0.0 | 0 | 1 | -| Batiment | 1 | 1 | 1.0 | 1.0 | 1.0 | 1 | -| All | 6 | 5 | 0.833 | 0.833 | 0.833 | 6 | +| Batiment | 1 | 1 | 100.0 | 100.0 | 100.0 | 1 | +| All | 6 | 5 | 83.33 | 83.33 | 83.33 | 6 |