I think if you look closely, you'll see that the predicted probabilities for the two classes do add up to ~1
, accounting for rounding errors and numeric approximations in the NB process. For instance for each row where one class is ~= 1.00000000
, the other class value is vanishingly small.
Second, it is hard to understand what you want from a "confidence" in this case. Many of the classification tools in sklearn
have a decision_function()
method that will give you a distance of the estimate from the decision boundary. In this case, the decision boundary is a function of the kind of NB you chose (Gaussian). I think this explanation of plotting a boundary might be very helpful.
But a more thorough search of SO would have yielded you this question, which I think might get closer to what you're looking for.