From 65abbb674195d279608346af3e0c2b367f6e4b33 Mon Sep 17 00:00:00 2001 From: Gael Varoquaux <gael.varoquaux@normalesup.org> Date: Sun, 6 May 2012 23:21:01 +0200 Subject: [PATCH] ENH: avoid an underflow --- sklearn/naive_bayes.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sklearn/naive_bayes.py b/sklearn/naive_bayes.py index eb29765efe..4e7345bf0f 100644 --- a/sklearn/naive_bayes.py +++ b/sklearn/naive_bayes.py @@ -266,7 +266,9 @@ class BaseDiscreteNB(BaseNB): elif self.fit_prior: # empirical prior, with sample_weight taken into account y_freq = Y.sum(axis=0) - self.class_log_prior_ = np.log(y_freq) - np.log(y_freq.sum()) + eps = np.finfo(1.).eps + self.class_log_prior_ = (np.log(y_freq + eps) + - np.log(y_freq.sum() + eps)) else: self.class_log_prior_ = np.zeros(n_classes) - np.log(n_classes) -- GitLab