Skip to main content

Crate anofox_ml_naive_bayes

Crate anofox_ml_naive_bayes 

Source
Expand description

Naive Bayes classifiers.

This crate implements several Naive Bayes algorithms:

  • GaussianNB — assumes features follow a normal distribution within each class.
  • MultinomialNB — for count-based or TF-IDF features (non-negative values).
  • BernoulliNB — for binary/boolean features, with automatic binarization.

§Examples

use ndarray::array;
use anofox_ml_core::{Fit, Predict};
use anofox_ml_naive_bayes::GaussianNB;

// Two well-separated classes
let x_train = array![
    [1.0, 1.0],
    [1.1, 0.9],
    [0.9, 1.1],
    [10.0, 10.0],
    [10.1, 9.9],
    [9.9, 10.1]
];
let y_train = array![0.0, 0.0, 0.0, 1.0, 1.0, 1.0];

let nb = GaussianNB::new();
let fitted = Fit::fit(&nb, &x_train, &y_train).unwrap();

let x_test = array![[1.0, 1.0], [10.0, 10.0]];
let preds = fitted.predict(&x_test).unwrap();
assert!((preds[0] - 0.0_f64).abs() < 1e-10);
assert!((preds[1] - 1.0_f64).abs() < 1e-10);

Structs§

BernoulliNB
Bernoulli Naive Bayes classifier parameters (unfitted state).
FittedBernoulliNB
Fitted Bernoulli Naive Bayes classifier.
FittedGaussianNB
Fitted Gaussian Naive Bayes classifier.
FittedMultinomialNB
Fitted Multinomial Naive Bayes classifier.
GaussianNB
Gaussian Naive Bayes classifier parameters (unfitted state).
MultinomialNB
Multinomial Naive Bayes classifier parameters (unfitted state).