pub struct AutoBuilder { /* private fields */ }Expand description
AutoBuilder: High-level AutoML interface
Implementations§
Source§impl AutoBuilder
impl AutoBuilder
Sourcepub fn with_config(config: AutoConfig) -> Self
pub fn with_config(config: AutoConfig) -> Self
Create with custom configuration
Sourcepub fn with_tuning(self, level: TuningLevel) -> Self
pub fn with_tuning(self, level: TuningLevel) -> Self
Set tuning level
Sourcepub fn with_validation_split(self, ratio: f32) -> Self
pub fn with_validation_split(self, ratio: f32) -> Self
Set validation split ratio
Sourcepub fn with_auto_features(self, enabled: bool) -> Self
pub fn with_auto_features(self, enabled: bool) -> Self
Enable/disable automatic features
Sourcepub fn with_mode(self, mode: BoostingMode) -> Self
pub fn with_mode(self, mode: BoostingMode) -> Self
Force a specific mode
Sourcepub fn with_ensemble(self) -> Self
pub fn with_ensemble(self) -> Self
Enable ensemble training with default settings (PureTree only)
Sourcepub fn with_ensemble_method(self, method: AutoEnsembleMethod) -> Self
pub fn with_ensemble_method(self, method: AutoEnsembleMethod) -> Self
Enable ensemble training with a specific method (PureTree only)
Sourcepub fn with_ensemble_config(self, config: AutoEnsembleConfig) -> Self
pub fn with_ensemble_config(self, config: AutoEnsembleConfig) -> Self
Set full ensemble configuration (PureTree only)
Sourcepub fn with_verbose(self, verbose: bool) -> Self
pub fn with_verbose(self, verbose: bool) -> Self
Enable verbose output
Sourcepub fn with_time_budget(self, budget: Duration) -> Self
pub fn with_time_budget(self, budget: Duration) -> Self
Set time budget for training
AutoBuilder will adapt its behavior to fit within this time limit:
- Skips feature engineering if time is tight (< 20s remaining)
- Reduces tuning intensity if time is limited (< 30s → Quick tuning)
- Skips tuning entirely if very low on time (< 10s)
§Example
ⓘ
use std::time::Duration;
let builder = AutoBuilder::new()
.with_time_budget(Duration::from_secs(60)); // 1 minute maxSourcepub fn with_progress_callback(self, callback: Arc<dyn ProgressCallback>) -> Self
pub fn with_progress_callback(self, callback: Arc<dyn ProgressCallback>) -> Self
Sourcepub fn with_linear_feature_config(self, config: LinearFeatureConfig) -> Self
pub fn with_linear_feature_config(self, config: LinearFeatureConfig) -> Self
Set custom feature extractor configuration for LinearThenTree mode
This controls which features are extracted for the linear component. By default, all features are included (no exclusions).
§Example
ⓘ
use treeboost::dataset::feature_extractor::LinearFeatureConfig;
let feature_config = LinearFeatureConfig::default()
.with_exclude_categorical(true) // Exclude categorical features from linear model
.with_exclude_id(true); // Exclude ID columns
let builder = AutoBuilder::new()
.with_linear_feature_config(feature_config);Sourcepub fn fit(&self, df: &DataFrame, target_col: &str) -> Result<BuildResult>
pub fn fit(&self, df: &DataFrame, target_col: &str) -> Result<BuildResult>
Fit the model on a Polars DataFrame
This is the main entry point. It:
- Profiles the DataFrame
- Determines preprocessing strategy
- Plans feature engineering
- Analyzes for mode selection
- Tunes hyperparameters
- Trains the final model
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AutoBuilder
impl !RefUnwindSafe for AutoBuilder
impl Send for AutoBuilder
impl Sync for AutoBuilder
impl Unpin for AutoBuilder
impl !UnwindSafe for AutoBuilder
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.