Skip to main content

Crate anofox_ml_trees

Crate anofox_ml_trees 

Source
Expand description

CART decision tree classifiers and regressors.

This crate provides DecisionTreeClassifier and DecisionTreeRegressor, implementing the Classification and Regression Trees (CART) algorithm. Trees support configurable split criteria (SplitCriterion: Gini, Entropy, MSE), maximum depth, minimum samples per split, and minimum samples per leaf.

§Examples

use ndarray::array;
use anofox_ml_core::{Fit, Predict};
use anofox_ml_trees::DecisionTreeClassifier;

let x = array![[1.0], [2.0], [3.0], [4.0], [5.0], [6.0]];
let y = array![0.0, 0.0, 0.0, 1.0, 1.0, 1.0];

let tree = DecisionTreeClassifier::new().with_max_depth(Some(3));
let fitted = Fit::fit(&tree, &x, &y).unwrap();

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

Re-exports§

pub use classifier::DecisionTreeClassifier;
pub use classifier::FittedDecisionTreeClassifier;
pub use node::TreeNode;
pub use regressor::DecisionTreeRegressor;
pub use regressor::FittedDecisionTreeRegressor;
pub use split::ClassWeight;
pub use split::MaxFeatures;
pub use split::SplitCriterion;
pub use split::SplitStrategy;

Modules§

classifier
node
regressor
split