GradientBoosting / Regressor Layer
Gradient Boosting Regression: Sequential ensemble learning. This estimator builds an additive model in a forward stage-wise fashion; it allows for the optimization of arbitrary differentiable loss functions. In each stage a regression tree is fit on the negative gradient of the given loss function.
Mathematical formulation: where:
- Fₘ is the model at stage m
- hₘ is the weak learner
- ν is the learning rate
- Each hₘ fits pseudo-residuals
Key characteristics:
- Stage-wise additive modeling
- Gradient-based optimization
- Flexible loss functions
- Strong predictive power
Advantages:
- High accuracy
- Handles non-linearity
- Feature interactions
- Robust performance
Common applications:
- Complex regression
- Feature importance
- Robust prediction
- Production systems
Outputs:
- Predicted Table: Results with predictions
- Validation Results: Cross-validation metrics
- Test Metric: Hold-out performance
- Feature Importances: Variable contributions
SelectFeatures
[column, ...]Feature selection for Gradient Boosting:
Requirements:
-
Data properties:
- Numeric features
- No missing values
- Finite numbers
- Any scale ok
-
Preprocessing needs:
- No scaling required
- Handle missing data
- Remove constants
- Check correlations
-
Model considerations:
- Feature importance
- Gradient calculation
- Memory usage
- Training speed
-
Best practices:
- Remove redundant features
- Consider interactions
- Monitor importance
- Feature selection
Note: If empty, uses all numeric columns except target
SelectTarget
columnTarget variable for Gradient Boosting:
Requirements:
-
Data type:
- Numeric continuous
- No missing values
- Finite values
- Real-valued
-
Distribution properties:
- Any distribution ok
- Loss function match
- Check outliers
- Note range
-
Model impact:
- Gradient computation
- Loss optimization
- Residual fitting
- Stage-wise learning
-
Loss selection:
- Normal: SquaredError
- Robust: AbsoluteError
- Mixed: Huber
- Quantile: Distribution tails
Note: Must be a single numeric column
Params
oneofDefault Gradient Boosting configuration:
-
Learning setup:
- Loss: Squared error
- Learning rate: 0.1
- Trees: 100
-
Tree structure:
- Max depth: 3
- Min samples split: 2
- Friedman MSE criterion
-
Optimization:
- Full samples (1.0)
- Early stopping ready
- Validation: 10%
Best suited for:
- Initial modeling
- Medium datasets
- General regression
- Standard problems
Customizable Gradient Boosting parameters:
Parameter groups:
-
Boosting strategy:
- Loss function
- Learning rate
- Number of estimators
-
Tree structure:
- Depth control
- Split criteria
- Node constraints
-
Optimization:
- Subsampling
- Early stopping
- Feature selection
Trade-offs:
- Speed vs accuracy
- Memory vs performance
- Bias vs variance
Loss
enumLoss function selection:
Mathematical forms:
- Squared Error:
- Absolute Error:
- Huber: Combines L1 and L2
- Quantile:
Impact:
- Optimization behavior
- Robustness properties
- Prediction characteristics
- Training dynamics
L2 loss function:
Properties:
- Mean estimation
- Larger penalties
- Smooth gradients
- Standard choice
Best for:
- Normal noise
- Clean data
- General regression
L1 loss function:
Properties:
- Median estimation
- Constant gradients
- Outlier robust
- Linear penalties
Best for:
- Noisy data
- Outlier presence
- Robust predictions
Huber loss function:
Properties:
- Combined L1/L2
- Adaptive behavior
- Robust-smooth mix
- Controlled transition
Best for:
- Mixed noise
- Unknown distribution
- Balance robustness
Quantile loss function:
Properties:
- Quantile estimation
- Asymmetric penalties
- Distribution focused
- Flexible modeling
Best for:
- Specific quantiles
- Risk assessment
- Uncertainty bounds
LearningRate
f64The number of boosting stages to perform. Gradient boosting is fairly robust to over-fitting so a large number usually results in better performance.
Impact: where ν is learning rate
Trade-off:
- Small ν: More trees needed
- Large ν: Fewer trees
Typical ranges:
- Small: 0.01-0.1
- Large: 0.1-0.3
NEstimators
u32Number of boosting stages:
Selection guide:
-
With small learning rate:
- More estimators needed
- Better generalization
-
With large learning rate:
- Fewer estimators
- Faster training
Common ranges:
- Basic: 100-500
- Advanced: 500-2000
Subsample
f64The fraction of samples to be used for fitting the individual base learners.
Effects:
- <1.0: Stochastic boosting
- 1.0: Traditional boosting
Benefits of subsampling:
- Reduces variance
- Prevents overfitting
- Faster training
Typical values:
- 0.5-0.8: More randomization
- 0.8-1.0: More stability
Criterion
enumSplit quality measures:
Options:
-
Friedman MSE:
- Enhanced measurement
- Improvement scoring
- Better splits
-
Standard MSE:
- Simple variance reduction
- Direct measurement
- Basic approach
Impact:
- Tree structure
- Split selection
- Learning quality
Friedman's improvement score:
Properties:
- Advanced criterion
- Considers variance
- Split potential
- Default choice
Best for:
- General use
- Quality splits
- Better trees
Standard mean squared error:
Properties:
- Simple criterion
- Direct variance
- Fast computation
- Basic measure
Best for:
- Quick training
- Simple problems
- Baseline comparison
Minimum samples for split:
Effects:
- Controls tree growth
- Prevents overfitting
- Ensures stability
Typical values:
- 2-10: Detailed trees
- 10-50: More stable
Minimum samples per leaf:
Impact:
- Prediction stability
- Smoothing effect
- Overfitting control
Common settings:
- 1-5: Fine detail
- 5-20: Smoother predictions
Minimum weighted leaf fraction:
Purpose:
- Weight-based control
- Balanced trees
- Handling importance
Range: [0.0, 0.5]
- 0.0: No constraint
- >0.0: Enforces balance
MaxDepth
u32Maximum tree depth:
Control options:
- 0: Unlimited growth
- >0: Fixed depth limit
Guidelines:
- Shallow (3-5): Fast, robust
- Medium (5-8): Balanced
- Deep (>8): Complex patterns
Note: Key parameter for boosting
A node will be split if this split induces a decrease of the impurity greater than or equal to this value.
Usage:
- Pre-pruning method
- Quality control
- Prevents weak splits
Values:
- 0.0: All splits allowed
- >0.0: Quality threshold
RandomState
u64Controls the random seed given to each Tree estimator at each boosting iteration. In addition, it controls the random permutation of the features at each split.
Affects:
- Subsampling
- Feature selection
- Tree structure
Settings:
- 0: System random
- Fixed: Reproducible
- Different: Variations
MaxFeatures
enumFeature subset selection:
Strategies:
- All features (Auto)
- Square root scaling
- Logarithmic scaling
- Custom selection
Effects:
- Split randomization
- Training speed
- Model variance
- Feature exploration
Use all features:
Properties:
- Complete information
- Thorough search
- Slower splits
- Full capacity
Best for:
- Small feature sets
- Important decisions
- Maximum accuracy
Square root selection:
Formula:
Properties:
- Balanced selection
- Moderate sampling
- Common choice
Best for:
- Medium datasets
- Standard problems
- Good trade-off
Logarithmic selection:
Formula:
Properties:
- Aggressive reduction
- Faster splitting
- More randomization
Best for:
- Many features
- Quick training
- High dimensions
User-defined selection:
Properties:
- Manual control
- Flexible sizing
- Tunable option
- Problem-specific
Best for:
- Expert knowledge
- Special cases
- Fine-tuning
MaxFeaturesF
u32Custom feature count:
Usage:
- With MaxFeatures=Custom
- Must be ≤ total features
Selection:
- Small: More randomization
- Large: Better splits
- Balance performance
Alpha
f64The alpha-quantile of the huber loss function and the quantile loss function. Only if loss
is huber
or quantile
.
MaxLeafNodes
u32Maximum leaf node count:
Control:
- 0: Unlimited leaves
- >0: Best-first growth
Benefits:
- Memory control
- Tree size limit
- Quality-based growth
Alternative to max_depth
WarmStart
boolWhen set to True, reuse the solution of the previous call to fit and add more estimators to the ensemble, otherwise, just fit a whole new ensemble.
When True:
- Keep existing trees
- Add more stages
- Continue training
Applications:
- Model updating
- Iterative fitting
- Parameter tuning
Early stopping validation size:
Usage:
- Monitors convergence
- Prevents overfitting
- Automatic stopping
Typical values:
- Small (0.1): More training
- Large (0.2): Better validation
Early stopping patience:
Behavior:
- 0: No early stopping
- >0: Stop after n stagnant rounds
Settings:
- Small (5-10): Aggressive
- Large (10-20): Patient
Used with validation_fraction
Tol
f64Early stopping tolerance:
Criterion:
Values:
- Strict (1e-4): Precise
- Loose (1e-3): Faster
Used with n_iter_no_change
CcpAlpha
f64Complexity parameter used for Minimal Cost-Complexity Pruning. The subtree with the largest cost complexity that is smaller than ccp_alpha
will be chosen.
Gradient Boosting hyperparameter optimization:
Key components:
-
Learning parameters:
- Loss functions
- Learning rates
- Number of trees
-
Tree structure:
- Depth/leaf limits
- Node constraints
- Split criteria
-
Regularization:
- Subsampling rates
- Early stopping
- Complexity control
Best practices:
- Balance learning rate/trees
- Consider interactions
- Monitor convergence
- Resource awareness
Loss
[enum, ...]Loss function selection:
Mathematical forms:
- Squared Error:
- Absolute Error:
- Huber: Combines L1 and L2
- Quantile:
Impact:
- Optimization behavior
- Robustness properties
- Prediction characteristics
- Training dynamics
L2 loss function:
Properties:
- Mean estimation
- Larger penalties
- Smooth gradients
- Standard choice
Best for:
- Normal noise
- Clean data
- General regression
L1 loss function:
Properties:
- Median estimation
- Constant gradients
- Outlier robust
- Linear penalties
Best for:
- Noisy data
- Outlier presence
- Robust predictions
Huber loss function:
Properties:
- Combined L1/L2
- Adaptive behavior
- Robust-smooth mix
- Controlled transition
Best for:
- Mixed noise
- Unknown distribution
- Balance robustness
Quantile loss function:
Properties:
- Quantile estimation
- Asymmetric penalties
- Distribution focused
- Flexible modeling
Best for:
- Specific quantiles
- Risk assessment
- Uncertainty bounds
LearningRate
[f64, ...]Learning rate search:
Search spaces:
-
Log scale:
- [0.001, 0.01, 0.1]
- Wide exploration
-
Fine-tuning:
- [0.05, 0.1, 0.15]
- Around optimal
Note: Pair with n_estimators
NEstimators
[u32, ...]Number of trees search:
Search ranges:
-
Quick exploration:
- [50, 100, 200]
- Initial testing
-
Production:
- [200, 500, 1000]
- Full performance
-
Large scale:
- [500, 1000, 2000]
- High accuracy
Subsample
[f64, ...]Subsample ratio search:
Patterns:
-
Conservative:
- [0.8, 0.9, 1.0]
- Stable learning
-
Aggressive:
- [0.5, 0.7, 0.9]
- More randomization
-
Comprehensive:
- [0.6, 0.8, 1.0]
- Full range
Criterion
[enum, ...]Split quality measures:
Options:
-
Friedman MSE:
- Enhanced measurement
- Improvement scoring
- Better splits
-
Standard MSE:
- Simple variance reduction
- Direct measurement
- Basic approach
Impact:
- Tree structure
- Split selection
- Learning quality
Friedman's improvement score:
Properties:
- Advanced criterion
- Considers variance
- Split potential
- Default choice
Best for:
- General use
- Quality splits
- Better trees
Standard mean squared error:
Properties:
- Simple criterion
- Direct variance
- Fast computation
- Basic measure
Best for:
- Quick training
- Simple problems
- Baseline comparison
MinSamplesSplit
[u32, ...]Split threshold search:
Search ranges:
-
Fine grain:
- [2, 5, 10]
- Detailed splits
-
Conservative:
- [10, 20, 50]
- Stable trees
-
Mixed: [2, 10, 30]
- Range comparison
MinSamplesLeaf
[u32, ...]Leaf size search:
Patterns:
-
Detailed:
- [1, 3, 5]
- Fine predictions
-
Stable:
- [5, 10, 20]
- Robust leaves
-
Study: [1, 5, 15]
- Effect analysis
MinWeightFractionLeaf
[f64, ...]Weight constraint search:
Search spaces:
-
No constraint: [0.0]
- Default behavior
-
Light balance:
- [0.0, 0.1, 0.2]
- Gentle weighting
-
Strong balance:
- [0.2, 0.3, 0.4]
- Heavy constraints
MaxDepth
[u32, ...]Tree depth search:
Ranges:
-
Shallow trees:
- [3, 4, 5]
- Fast, robust
-
Deep trees:
- [6, 8, 10]
- Complex patterns
-
Full range:
- [3, 6, 9]
- Depth impact
MinImpurityDecrease
[f64, ...]Split quality threshold search:
Search patterns:
-
All splits: [0.0]
- No filtering
-
Light pruning:
- [0.0, 1e-4, 1e-3]
- Gentle filtering
-
Heavy pruning:
- [1e-3, 1e-2, 1e-1]
- Strong filtering
RandomState
u64MaxFeatures
[enum, ...]Feature subset selection:
Strategies:
- All features (Auto)
- Square root scaling
- Logarithmic scaling
- Custom selection
Effects:
- Split randomization
- Training speed
- Model variance
- Feature exploration
Use all features:
Properties:
- Complete information
- Thorough search
- Slower splits
- Full capacity
Best for:
- Small feature sets
- Important decisions
- Maximum accuracy
Square root selection:
Formula:
Properties:
- Balanced selection
- Moderate sampling
- Common choice
Best for:
- Medium datasets
- Standard problems
- Good trade-off
Logarithmic selection:
Formula:
Properties:
- Aggressive reduction
- Faster splitting
- More randomization
Best for:
- Many features
- Quick training
- High dimensions
User-defined selection:
Properties:
- Manual control
- Flexible sizing
- Tunable option
- Problem-specific
Best for:
- Expert knowledge
- Special cases
- Fine-tuning
MaxFeaturesF
[u32, ...]Custom feature count search:
Ranges:
-
Small sets:
- [2, 4, 6]
- Fast splits
-
Large sets:
- [8, 12, 16]
- More features
Note: Used with Custom max_features
Alpha
[f64, ...]Quantile/Huber parameter search:
Search spaces:
-
Quantile loss:
- [0.1, 0.5, 0.9]
- Different quantiles
-
Huber loss:
- [0.7, 0.9, 0.95]
- Robustness levels
Note: Loss-specific parameter
MaxLeafNodes
[u32, ...]Maximum leaves search:
Search patterns:
-
Small trees:
- [10, 20, 30]
- Simple models
-
Large trees:
- [50, 100, 200]
- Complex models
-
Mixed:
- [0, 31, 63]
- Compare unlimited
WarmStart
[bool, ...]When set to True, reuse the solution of the previous call to fit and add more estimators to the ensemble, otherwise, just fit a whole new ensemble.
Options:
-
Standard: [false]
- Fresh training
- Independent models
-
Compare: [false, true]
- Study reuse impact
- Training efficiency
Early stopping validation size:
Guidelines:
-
Small datasets:
- 0.2 fraction
- More validation
-
Large datasets:
- 0.1 fraction
- More training
Note: Used with early stopping
Early stopping patience:
Settings:
-
No early stop: 0
- Full iterations
- Complete training
-
With early stop: >0
- Monitors improvement
- Prevents overfitting
Used with validation_fraction
Tol
f64Improvement tolerance:
Usage:
- Stops if score gain < tol
- Over n_iter_no_change rounds
Values:
- Strict: 1e-4 (default)
- Relaxed: 1e-3
- Tight: 1e-5
CcpAlpha
[f64, ...]Cost-complexity search:
Search spaces:
-
No pruning: [0.0]
- Full trees
- Maximum detail
-
Light pruning:
- [0.001, 0.01, 0.1]
- Gentle simplification
-
Heavy pruning:
- [0.1, 0.2, 0.3]
- Strong simplification
RefitScore
enumRegression model evaluation metrics:
Purpose:
- Model performance evaluation
- Error measurement
- Quality assessment
- Model comparison
Selection criteria:
- Error distribution
- Scale sensitivity
- Domain requirements
- Business objectives
Model's native scoring method:
- Typically R² score
- Model-specific implementation
- Standard evaluation
- Quick assessment
Coefficient of determination (R²):
Formula:
Properties:
- Range: (-∞, 1]
- 1: Perfect prediction
- 0: Constant model
- Negative: Worse than mean
Best for:
- General performance
- Variance explanation
- Model comparison
- Standard reporting
Explained variance score:
Formula:
Properties:
- Range: (-∞, 1]
- Accounts for bias
- Variance focus
- Similar to R²
Best for:
- Variance analysis
- Bias assessment
- Model stability
Maximum absolute error:
Formula:
Properties:
- Worst case error
- Original scale
- Sensitive to outliers
- Upper error bound
Best for:
- Critical applications
- Error bounds
- Safety margins
- Risk assessment
Negative mean absolute error:
Formula:
Properties:
- Linear error scale
- Robust to outliers
- Original units
- Negated for optimization
Best for:
- Robust evaluation
- Interpretable errors
- Outlier presence
Negative mean squared error:
Formula:
Properties:
- Squared error scale
- Outlier sensitive
- Squared units
- Negated for optimization
Best for:
- Standard optimization
- Large error penalty
- Statistical analysis
Negative root mean squared error:
Formula:
Properties:
- Original scale
- Outlier sensitive
- Interpretable units
- Negated for optimization
Best for:
- Standard reporting
- Interpretable errors
- Model comparison
Negative mean squared logarithmic error:
Formula:
Properties:
- Relative error scale
- For positive values
- Sensitive to ratios
- Negated for optimization
Best for:
- Exponential growth
- Relative differences
- Positive predictions
Negative median absolute error:
Formula:
Properties:
- Highly robust
- Original scale
- Outlier resistant
- Negated for optimization
Best for:
- Robust evaluation
- Heavy-tailed errors
- Outlier presence
Negative Poisson deviance:
Formula:
Properties:
- For count data
- Non-negative values
- Poisson assumption
- Negated for optimization
Best for:
- Count prediction
- Event frequency
- Rate modeling
Negative Gamma deviance:
Formula:
Properties:
- For positive continuous data
- Constant CV assumption
- Relative errors
- Negated for optimization
Best for:
- Positive continuous data
- Multiplicative errors
- Financial modeling
Negative mean absolute percentage error:
Formula:
Properties:
- Percentage scale
- Scale independent
- For non-zero targets
- Negated for optimization
Best for:
- Relative performance
- Scale-free comparison
- Business metrics
D² score with absolute error:
Formula:
Properties:
- Range: (-∞, 1]
- Robust version of R²
- Linear error scale
- Outlier resistant
Best for:
- Robust evaluation
- Non-normal errors
- Alternative to R²
D² score with pinball loss:
Properties:
- Quantile focus
- Asymmetric errors
- Risk assessment
- Distribution modeling
Best for:
- Quantile regression
- Risk analysis
- Asymmetric costs
- Distribution tails
D² score with Tweedie deviance:
Properties:
- Compound Poisson-Gamma
- Flexible dispersion
- Mixed distributions
- Insurance modeling
Best for:
- Insurance claims
- Mixed continuous-discrete
- Compound distributions
- Specialized modeling
Split
oneofStandard train-test split configuration optimized for general classification tasks.
Configuration:
- Test size: 20% (0.2)
- Random seed: 98
- Shuffling: Enabled
- Stratification: Based on target distribution
Advantages:
- Preserves class distribution
- Provides reliable validation
- Suitable for most datasets
Best for:
- Medium to large datasets
- Independent observations
- Initial model evaluation
Splitting uses the ShuffleSplit strategy or StratifiedShuffleSplit strategy depending on the field stratified
. Note: If shuffle is false then stratified must be false.
Configurable train-test split parameters for specialized requirements. Allows fine-tuning of data division strategy for specific use cases or constraints.
Use cases:
- Time series data
- Grouped observations
- Specific train/test ratios
- Custom validation schemes
RandomState
u64Random seed for reproducible splits. Ensures:
- Consistent train/test sets
- Reproducible experiments
- Comparable model evaluations
Same seed guarantees identical splits across runs.
Shuffle
boolData shuffling before splitting. Effects:
- true: Randomizes order, better for i.i.d. data
- false: Maintains order, important for time series
When to disable:
- Time dependent data
- Sequential patterns
- Grouped observations
TrainSize
f64Proportion of data for training. Considerations:
- Larger (e.g., 0.8-0.9): Better model learning
- Smaller (e.g., 0.5-0.7): Better validation
Common splits:
- 0.8: Standard (80/20 split)
- 0.7: More validation emphasis
- 0.9: More training emphasis
Stratified
boolMaintain class distribution in splits. Important when:
- Classes are imbalanced
- Small classes present
- Representative splits needed
Requirements:
- Classification tasks only
- Cannot use with shuffle=false
- Sufficient samples per class
Cv
oneofStandard cross-validation configuration using stratified 3-fold splitting.
Configuration:
- Folds: 3
- Method: StratifiedKFold
- Stratification: Preserves class proportions
Advantages:
- Balanced evaluation
- Reasonable computation time
- Good for medium-sized datasets
Limitations:
- May be insufficient for small datasets
- Higher variance than larger fold counts
- May miss some data patterns
Configurable stratified k-fold cross-validation for specific validation requirements.
Features:
- Adjustable fold count with
NFolds
determining the number of splits. - Stratified sampling
- Preserved class distributions
Use cases:
- Small datasets (more folds)
- Large datasets (fewer folds)
- Detailed model evaluation
- Robust performance estimation
NFolds
u32Number of cross-validation folds. Guidelines:
- 3-5: Large datasets, faster training
- 5-10: Standard choice, good balance
- 10+: Small datasets, thorough evaluation
Trade-offs:
- More folds: Better evaluation, slower training
- Fewer folds: Faster training, higher variance
Must be at least 2.
K-fold cross-validation without stratification. Divides data into k consecutive folds for iterative validation.
Process:
- Splits data into k equal parts
- Each fold serves as validation once
- Remaining k-1 folds form training set
Use cases:
- Regression problems
- Large, balanced datasets
- When stratification unnecessary
- Continuous target variables
Limitations:
- May not preserve class distributions
- Less suitable for imbalanced data
- Can create biased splits with ordered data
NSplits
u32Number of folds for cross-validation. Selection guide: Recommended values:
- 5: Standard choice (default)
- 3: Large datasets/quick evaluation
- 10: Thorough evaluation/smaller datasets
Trade-offs:
- Higher values: More thorough, computationally expensive
- Lower values: Faster, potentially higher variance
Must be at least 2 for valid cross-validation.
RandomState
u64Random seed for fold generation when shuffling. Important for:
- Reproducible results
- Consistent fold assignments
- Benchmark comparisons
- Debugging and validation
Set specific value for reproducibility across runs.
Shuffle
boolWhether to shuffle data before splitting into folds. Effects:
- true: Randomized fold composition (recommended)
- false: Sequential splitting
Enable when:
- Data may have ordering
- Better fold independence needed
Disable for:
- Time series data
- Ordered observations
Stratified K-fold cross-validation maintaining class proportions across folds.
Key features:
- Preserves class distribution in each fold
- Handles imbalanced datasets
- Ensures representative splits
Best for:
- Classification problems
- Imbalanced class distributions
- When class proportions matter
Requirements:
- Classification tasks only
- Sufficient samples per class
- Categorical target variable
NSplits
u32Number of stratified folds. Guidelines: Typical values:
- 5: Standard for most cases
- 3: Quick evaluation/large datasets
- 10: Detailed evaluation/smaller datasets
Considerations:
- Must allow sufficient samples per class per fold
- Balance between stability and computation time
- Consider smallest class size when choosing
RandomState
u64Seed for reproducible stratified splits. Ensures:
- Consistent fold assignments
- Reproducible results
- Comparable experiments
- Systematic validation
Fixed seed guarantees identical stratified splits.
Shuffle
boolData shuffling before stratified splitting. Impact:
- true: Randomizes while maintaining stratification
- false: Maintains data order within strata
Use cases:
- true: Independent observations
- false: Grouped or sequential data
Class proportions maintained regardless of setting.
Random permutation cross-validator with independent sampling.
Characteristics:
- Random sampling for each split
- Independent train/test sets
- More flexible than K-fold
- Can have overlapping test sets
Advantages:
- Control over test size
- Fresh splits each iteration
- Good for large datasets
Limitations:
- Some samples might never be tested
- Others might be tested multiple times
- No guarantee of complete coverage
NSplits
u32Number of random splits to perform. Consider: Common values:
- 5: Standard evaluation
- 10: More thorough assessment
- 3: Quick estimates
Trade-offs:
- More splits: Better estimation, longer runtime
- Fewer splits: Faster, less stable estimates
Balance between computation and stability.
RandomState
u64Random seed for reproducible shuffling. Controls:
- Split randomization
- Sample selection
- Result reproducibility
Important for:
- Debugging
- Comparative studies
- Result verification
TestSize
f64Proportion of samples for test set. Guidelines: Common ratios:
- 0.2: Standard (80/20 split)
- 0.25: More validation emphasis
- 0.1: More training data
Considerations:
- Dataset size
- Model complexity
- Validation requirements
It must be between 0.0 and 1.0.
Stratified random permutation cross-validator combining shuffle-split with stratification.
Features:
- Maintains class proportions
- Random sampling within strata
- Independent splits
- Flexible test size
Ideal for:
- Imbalanced datasets
- Large-scale problems
- When class distributions matter
- Flexible validation schemes
NSplits
u32Number of stratified random splits. Guidelines: Recommended values:
- 5: Standard evaluation
- 10: Detailed analysis
- 3: Quick assessment
Consider:
- Sample size per class
- Computational resources
- Stability requirements
RandomState
u64Seed for reproducible stratified sampling. Ensures:
- Consistent class proportions
- Reproducible splits
- Comparable experiments
Critical for:
- Benchmarking
- Research studies
- Quality assurance
TestSize
f64Fraction of samples for stratified test set. Best practices: Common splits:
- 0.2: Balanced evaluation
- 0.3: More thorough testing
- 0.15: Preserve training size
Consider:
- Minority class size
- Overall dataset size
- Validation objectives
It must be between 0.0 and 1.0.
Time Series cross-validator. Provides train/test indices to split time series data samples that are observed at fixed time intervals, in train/test sets. It is a variation of k-fold which returns first k
folds as train set and the k + 1
th fold as test set. Note that unlike standard cross-validation methods, successive training sets are supersets of those that come before them. Also, it adds all surplus data to the first training partition, which is always used to train the model.
Key features:
- Maintains temporal dependence
- Expanding window approach
- Forward-chaining splits
- No future data leakage
Use cases:
- Sequential data
- Financial forecasting
- Temporal predictions
- Time-dependent patterns
Note: Training sets are supersets of previous iterations.
NSplits
u32Number of temporal splits. Considerations: Typical values:
- 5: Standard forward chaining
- 3: Limited historical data
- 10: Long time series
Impact:
- Affects training window growth
- Determines validation points
- Influences computational load
MaxTrainSize
u64Maximum size of training set. Should be strictly less than the number of samples. Applications:
- 0: Use all available past data
- >0: Rolling window of fixed size
Use cases:
- Limit historical relevance
- Control computational cost
- Handle concept drift
- Memory constraints
TestSize
u64Number of samples in each test set. When 0:
- Auto-calculated as n_samples/(n_splits+1)
- Ensures equal-sized test sets
Considerations:
- Forecast horizon
- Validation requirements
- Available future data
Gap
u64Number of samples to exclude from the end of each train set before the test set.Gap between train and test sets. Uses:
- Avoid data leakage
- Model forecast lag
- Buffer periods
Common scenarios:
- 0: Continuous prediction
- >0: Forward gap for realistic evaluation
- Match business forecasting needs