From 870bcdceb64d7ebcf96f33e1c3d89eb1ec3bbd8a Mon Sep 17 00:00:00 2001 From: kortschak Date: Tue, 30 Jan 2018 02:22:43 +1030 Subject: [PATCH] stat: fix ROC for uniform cases --- stat/roc.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/stat/roc.go b/stat/roc.go index 1ddd34c1..b6785661 100644 --- a/stat/roc.go +++ b/stat/roc.go @@ -108,8 +108,13 @@ func ROC(n int, y []float64, classes []bool, weights []float64) (tpr, fpr []floa fpr = fpr[:(bin + 1)] } - invNeg := 1 / nNeg - invPos := 1 / nPos + var invNeg, invPos float64 + if nNeg != 0 { + invNeg = 1 / nNeg + } + if nPos != 0 { + invPos = 1 / nPos + } for i := range tpr { tpr[i] *= invPos fpr[i] *= invNeg