1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//! Ensemble learning module
//!
//! Provides multi-seed training, hill climbing selection, and Ridge stacking
//! for building robust ensemble models from multiple GBDT base learners.
//!
//! # Overview
//!
//! This module implements a two-stage ensemble approach:
//!
//! 1. **Multi-seed training**: Train multiple models with different random seeds to reduce variance
//! 2. **Hill climbing selection**: Greedily select models that improve CV score
//! 3. **Ridge stacking**: Combine selected models using regularized linear regression
//!
//! # Example
//!
//! ```ignore
//! use treeboost::ensemble::{EnsembleBuilder, MultiSeedConfig, StackingConfig};
//! use treeboost::{GBDTConfig, BinnedDataset};
//!
//! let config = GBDTConfig::new().with_num_rounds(100);
//!
//! let ensemble = EnsembleBuilder::new(config)
//! .with_n_seeds(5)
//! .with_ridge_alpha(10.0)
//! .with_rank_transform(true)
//! .build(&dataset)?;
//!
//! let predictions = ensemble.predict(&test_data);
//! ```
pub use ;
pub use TrainedMember;
pub use ;
pub use ;
pub use ;
pub use ;