Expand description
Smart Feature Engineering
Automatically infers optimal feature generation based on data characteristics and model analysis. Acts as a “Smart Feature Engineer” that prescribes features.
§Design Philosophy
Different models benefit from different features:
- Linear models: Polynomial features (x², x³) help capture non-linearity
- Tree models: Interaction features (x_i * x_j) capture combinations trees struggle with
- LTT mode: Polynomial for linear phase, interactions for tree phase (on residuals)
§Example
ⓘ
use treeboost::analysis::{DataFrameProfile, DatasetAnalysis};
use treeboost::features::smart::{SmartFeatureEngine, SmartFeatureConfig};
let profile = DataFrameProfile::analyze(&df, "target")?;
let analysis = DatasetAnalysis::analyze(&dataset);
let plan = SmartFeatureEngine::infer(&profile, Some(&analysis));
println!("Feature Plan:\n{}", SmartFeatureEngine::summarize(&plan));Structs§
- Feature
Plan - Feature generation plan
- LttFeature
Plan - LTT-specific feature plan with separate phases
- Smart
Feature Config - Configuration for smart feature engineering
- Smart
Feature Engine - Smart Feature Engineering Engine
Enums§
- Smart
Feature Preset - Presets for smart feature engineering.
- Time
Feature Type - Time feature types to extract from DateTime columns