GaussianNB¶
Gaussian Naive Bayes.
A Gaussian distribution \(G_{cf}\) is maintained for each class \(c\) and each feature \(f\). Each Gaussian is updated using the amount associated with each feature; the details can be be found in proba.Gaussian
. The joint log-likelihood is then obtained by summing the log probabilities of each feature associated with each class.
Examples¶
>>> from river import naive_bayes
>>> from river import stream
>>> import numpy as np
>>> X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
>>> Y = np.array([1, 1, 1, 2, 2, 2])
>>> model = naive_bayes.GaussianNB()
>>> for x, y in stream.iter_array(X, Y):
... _ = model.learn_one(x, y)
>>> model.predict_one({0: -0.8, 1: -1})
1
Methods¶
joint_log_likelihood
joint_log_likelihood_many
learn_one
Update the model with a set of features x
and a label y
.
Parameters
- x (dict)
- y (Union[bool, str, int])
Returns
Classifier: self
p_class
predict_one
Predict the label of a set of features x
.
Parameters
- x (dict)
Returns
typing.Union[bool, str, int, NoneType]: The predicted label.
predict_proba_one
Return probabilities using the log-likelihoods.
Parameters
- x (dict)