Skip to content

Commit 71e83bf

Browse files
authored
CU-869a6w9c7 Fix stats on 0 prec and 0 rec (#109)
* CU-869a6w9c7: Set f1 to 0 if precision and recall are 0 * CU-869a6w9c7: Set precision and recall to 0 in case of division by 0 * CU-869a6w9c7: Fix types (float over int)
1 parent 07ebe24 commit 71e83bf

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

medcat-v2/medcat/stats/stats.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -238,9 +238,18 @@ def finalise_report(self, epoch: int, do_print: bool = True):
238238
Defaults to True.
239239
"""
240240
try:
241-
prec = self.tp / (self.tp + self.fp)
242-
rec = self.tp / (self.tp + self.fn)
243-
f1 = 2 * (prec * rec) / (prec + rec)
241+
if self.tp + self.fp == 0:
242+
prec = 0.0
243+
else:
244+
prec = self.tp / (self.tp + self.fp)
245+
if self.tp + self.fp == 0:
246+
rec = 0.0
247+
else:
248+
rec = self.tp / (self.tp + self.fn)
249+
if prec == 0 and rec == 0:
250+
f1 = 0.0
251+
else:
252+
f1 = 2 * (prec * rec) / (prec + rec)
244253
if do_print:
245254
print("Epoch: {}, Prec: {}, Rec: {}, F1: {}\n".format(
246255
epoch, prec, rec, f1))

0 commit comments

Comments
 (0)