mojolearn.BernoulliNB#
- class mojolearn.BernoulliNB(*, alpha=1.0, force_alpha=True, binarize=0.0, fit_prior=True, class_prior=None)[source]#
Bases:
_DiscreteNBNaive Bayes classifier for binary features.
Follows scikit-learn’s
BernoulliNB.Xis binarized atbinarize(values above the threshold become 1), then fit counts how often each feature is 1 in each class, smooths the counts byalphaand scores each class with the Bernoulli likelihood, including the features that are 0. Computation is float32.fitacceptssample_weight, which weights the counts.partial_fit(X, y, classes=None, sample_weight=None)adds each batch’s counts to the running ones;classesis required on the first call.- Parameters:
alpha (float, default 1.0) – Additive smoothing. Must be greater than 0;
alpha <= 0raisesNotImplementedError.force_alpha (bool, default True) – Accepted for scikit-learn compatibility.
binarize (float or None, default 0.0) – Threshold for binarizing
X; None meansXis already binary.fit_prior (bool, default True) – Learn class priors from the data; when False, use a uniform prior.
class_prior (array-like of shape (n_classes,), default None) – Given class priors (nonnegative); overrides
fit_prior.
- Variables:
classes_ (array of shape (n_classes,)) – Class labels.
class_count_ (array of shape (n_classes,)) – Number (or weighted number) of training rows per class.
class_log_prior_ (array of shape (n_classes,)) – Log prior of each class.
feature_count_ (array of shape (n_classes, n_features)) – Number of rows per class in which each feature is 1.
feature_log_prob_ (array of shape (n_classes, n_features)) – Smoothed log probability that each feature is 1 given the class.
n_features_in_ (int) – Number of columns seen in fit.
numeric_mode_ (str) – Numeric mode the estimator was fitted in; prediction runs in the same mode.
Examples
>>> import numpy as np, mojolearn >>> rng = np.random.default_rng(0) >>> X = rng.integers(0, 2, (1000, 20)).astype(np.float32) >>> y = rng.integers(0, 2, 1000) >>> model = mojolearn.BernoulliNB().fit(X, y)
Methods
fit(X, y[, sample_weight])fit_transform(X[, y])Fit to
X, then transformX.get_params([deep])Return the constructor parameters as a dict.
partial_fit(X, y[, classes, sample_weight])Update the model with one batch of rows.
predict(X)Predict the class of each row.
predict_joint_log_proba(X)Return the unnormalized log score of each row and class.
predict_log_proba(X)Return the log of the class probabilities for each row.
predict_proba(X)Return class probabilities for each row.
score(X, y)Return the mean accuracy on the given rows and labels.
set_params(**params)Set constructor parameters.