sklears_tree/
lib.rs

1#![allow(dead_code)]
2#![allow(non_snake_case)]
3#![allow(missing_docs)]
4#![allow(deprecated)]
5//! Tree-based algorithms for sklears
6//!
7//! This crate provides implementations of tree-based machine learning algorithms including:
8//! - Decision Trees (CART algorithm)
9//! - Random Forest
10//! - Extra Trees
11//!
12//! This is a simplified version focusing on core functionality.
13
14// Core modules
15pub mod builder;
16pub mod config;
17pub mod criteria;
18pub mod decision_tree;
19pub mod node;
20pub mod splits;
21
22// Extended modules
23// pub mod incremental; // Temporarily disabled due to advanced features
24pub mod parallel;
25pub mod random_forest;
26// pub mod shap; // Temporarily disabled
27
28// Essential re-exports for the main API
29pub use config::{ndarray_to_dense_matrix, DecisionTreeConfig, MaxFeatures, MissingValueStrategy};
30pub use criteria::{ConditionalTestType, FeatureType, MonotonicConstraint, SplitCriterion};
31pub use decision_tree::{
32    DecisionTree, DecisionTreeBuilder, DecisionTreeClassifier, DecisionTreeRegressor, TreeValidator,
33};
34pub use node::{CompactTreeNode, CustomSplit, SurrogateSplit, TreeNode};
35pub use random_forest::RandomForestClassifier;
36pub use sklears_core::traits::{Trained, Untrained};
37pub use splits::HyperplaneSplit;
38
39/// Prelude module for convenient imports
40pub mod prelude {
41    pub use crate::config::DecisionTreeConfig;
42    pub use crate::criteria::SplitCriterion;
43    pub use crate::decision_tree::{DecisionTree, DecisionTreeClassifier, DecisionTreeRegressor};
44}