PassiveAggressive / Regressor Layer

Passive-Aggressive Regression.

Mathematical formulation: where:

  • w are the model weights
  • C is the aggressiveness parameter
  • ℓ is the loss function
  • (x_t,y_t) is the current sample

Key characteristics:

  • Online learning
  • Adaptive updates
  • No learning rate
  • Margin-based losses

Advantages:

  • Streaming data handling
  • Memory efficient
  • Quick adaptation
  • Robust to outliers

Common applications:

  • Online prediction
  • Large-scale learning
  • Streaming data
  • Real-time updates
  • Resource-constrained systems

Outputs:

  1. Predicted Table: Results with predictions
  2. Validation Results: Cross-validation metrics
  3. Test Metric: Hold-out performance
  4. Feature Importances: Model coefficients
Table
0
0
Predicted Table
1
Validation Results
2
Test Metric
3
Feature Importances

SelectFeatures

[column, ...]

Feature column selection for PA Regression:

Requirements:

  1. Data properties:

    • Numeric values
    • No missing data
    • Finite numbers
    • Stream-compatible
  2. Online considerations:

    • Feature stability
    • Update frequency
    • Scale consistency
    • Stream patterns
  3. Preprocessing needs:

    • Scaling crucial
    • Online normalization
    • Drift handling
    • Stream adaptation

Note: If empty, uses all numeric columns except target

Target column specification for PA Regression:

Requirements:

  1. Data type:

    • Numeric continuous
    • No missing values
    • Finite numbers
    • Stream-suitable
  2. Online properties:

    • Value stability
    • Drift patterns
    • Update frequency
    • Scale changes
  3. Stream considerations:

    • Real-time nature
    • Adaptation needs
    • Response timing
    • Quality control

Note: Must be a single numeric column

Params

oneof
DefaultParams

Default configuration for Passive-Aggressive Regression:

Core settings:

  1. Learning parameters:

    • C = 1.0 (aggressiveness)
    • ε = 0.1 (margin)
    • Epsilon-insensitive loss
  2. Training control:

    • 1000 max iterations
    • 1e-3 tolerance
    • Shuffled updates
  3. Online behavior:

    • No early stopping
    • Fresh start
    • Adaptive updates

Best suited for:

  • Streaming data
  • Online learning
  • Memory constraints
  • Quick adaptation

Customizable parameters for Passive-Aggressive Regression:

Parameter categories:

  1. Update control:

    • Aggressiveness (C)
    • Margin (ε)
    • Loss function
  2. Training process:

    • Iteration limits
    • Convergence criteria
    • Data handling
  3. Online learning:

    • Early stopping
    • Warm start
    • Validation strategy

Trade-offs:

  • Stability vs adaptation
  • Memory vs performance
  • Speed vs precision

Aggressiveness parameter:

Role in update: where τₜ depends on C

Effects:

  • Controls update size
  • Balances stability
  • Adaptation speed

Selection guide:

  • Small: More passive
  • Large: More aggressive
  • Balance needed
true

Intercept calculation control:

Model forms: With intercept: Without intercept:

Online impact:

  • Updated per sample
  • Adapts to shifts
  • Tracks bias
  • Stream handling

Effects when True:

  • Centers predictions
  • Handles drift
  • Better adaptation
  • Standard modeling
1000

Maximum passes over training data:

Impact on learning:

  • Multiple passes allowed
  • Affects fit method only
  • Not partial_fit
  • Convergence control

Typical ranges:

  • Simple: 100-500
  • Standard: 1000
  • Complex: 2000+

Note: Online learning may need fewer

Tol

f64
0.001

Convergence tolerance threshold:

Stopping criterion:

Usage:

  • 0: No early stopping
  • >0: Enables stopping
  • Checks n_iter_no_change

Trade-offs:

  • Stability vs speed
  • Accuracy vs time
  • Stream adaptation
0.1

If the difference between the current prediction and the correct label is below this threshold, the model is not updated.

Update condition:

Effects:

  • Controls sensitivity
  • Update frequency
  • Noise tolerance
  • Solution stability

Selection guide:

  • Small: More updates
  • Large: More passive
  • Based on noise level
true

Whether or not the training data should be shuffled after each epoch.

When True:

  • Randomizes order
  • Better convergence
  • Prevents cycles
  • Improves generalization

When False:

  • Sequential updates
  • Order-sensitive
  • Stream simulation
  • Time series cases

Loss

enum
EpsilonInsensitive

Loss functions for PA updates:

  1. Epsilon-insensitive:

    • Linear penalty
    • Robust behavior
    • SVR-like loss
  2. Squared epsilon-insensitive:

    • Quadratic penalty
    • Smoother updates
    • More aggressive

Selection impact:

  • Update magnitude
  • Convergence behavior
  • Outlier sensitivity
  • Solution stability
EpsilonInsensitive ~
SquaredEpsilonInsensitive ~
false

Early stopping control:

When enabled:

  • Monitors validation
  • Prevents overfitting
  • Saves computation
  • Adaptive stopping

Requirements:

  • validation_fraction > 0
  • Sufficient data
  • n_iter_no_change set
  • tol > 0

Validation set proportion:

Usage:

  • Early stopping only
  • Hold-out validation
  • Progress monitoring

Typical values:

  • Small data: 0.2
  • Large data: 0.1
  • Streaming: Consider less

Iteration patience:

Early stopping when:

  • No improvement for n iterations
  • Based on validation score
  • Checks tolerance threshold

Selection:

  • Small: Quick stopping
  • Large: More patience
  • Balance needed
false

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.

When True:

  • Reuses weights
  • Continues learning
  • Stream handling
  • Incremental updates

Best for:

  • Online learning
  • Stream processing
  • Continuous adaptation
  • Transfer learning

Random number generation seed:

Controls:

  • Shuffling order
  • Reproducibility
  • Validation split

Usage:

  • Fixed: Reproducible
  • Different: Robustness
  • 0: System random

Hyperparameter optimization for Passive-Aggressive Regression:

Search space organization:

  1. Update mechanics:

    • Aggressiveness (C)
    • Margin (ε)
    • Loss functions
  2. Online behavior:

    • Update frequency
    • Adaptation speed
    • Stream handling
  3. Training control:

    • Stopping criteria
    • Iteration limits
    • Validation strategy

Best practices:

  • Consider streaming scenarios
  • Balance adaptation speed
  • Monitor update frequency
  • Verify stability

CFactor

[f64, ...]
1

Aggressiveness parameter search:

Search patterns:

  1. Conservative:

    • [0.1, 0.5, 1.0]
    • Stable updates
  2. Aggressive:

    • [1.0, 10.0, 100.0]
    • Fast adaptation
  3. Comprehensive:

    • [0.1, 1.0, 10.0, 100.0]
    • Full range study

FitIntercept

[bool, ...]
true

Intercept adaptation search:

Options:

  1. With bias: [true]

    • Stream adaptation
    • Drift handling
  2. No bias: [false]

    • Fixed origin
    • Theory-driven
  3. Compare: [true, false]

    • Adaptation study
    • Bias impact

MaxIter

[u32, ...]
1000

Maximum iterations search:

Search ranges:

  1. Quick learning:

    • [100, 300, 500]
    • Fast adaptation
  2. Standard:

    • [500, 1000, 2000]
    • Better stability
  3. Thorough:

    • [1000, 3000, 5000]
    • Complex problems

Tol

[f64, ...]
0.001

Tolerance threshold search:

Search spaces:

  1. Tight convergence:

    • [1e-4, 1e-3, 1e-2]
    • Precise updates
  2. Relaxed:

    • [1e-3, 1e-2, 1e-1]
    • Faster adaptation
  3. Online-focused:

    • [1e-2, 1e-1]
    • Stream processing

Epsilon

[f64, ...]
0.1

Margin threshold search:

Search patterns:

  1. Sensitive:

    • [0.01, 0.05, 0.1]
    • Frequent updates
  2. Conservative:

    • [0.1, 0.2, 0.5]
    • Stable behavior
  3. Mixed:

    • Multiple ranges
    • Update study

Shuffle

[bool, ...]
true

Order randomization search:

Options:

  1. Random: [true]

    • Better convergence
    • General cases
  2. Sequential: [false]

    • Stream simulation
    • Time series
  3. Compare: [true, false]

    • Order sensitivity

Loss

[enum, ...]
EpsilonInsensitive

Loss functions for PA updates:

  1. Epsilon-insensitive:

    • Linear penalty
    • Robust behavior
    • SVR-like loss
  2. Squared epsilon-insensitive:

    • Quadratic penalty
    • Smoother updates
    • More aggressive

Selection impact:

  • Update magnitude
  • Convergence behavior
  • Outlier sensitivity
  • Solution stability
EpsilonInsensitive ~
SquaredEpsilonInsensitive ~

EarlyStopping

[bool, ...]
false

Early stopping evaluation:

Search options:

  1. Full training: [false]

    • Complete passes
    • Stream processing
  2. With stopping: [true]

    • Resource saving
    • Convergence check
  3. Compare: [true, false]

    • Efficiency study

WarmStart

[bool, ...]
true

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:

  1. Fresh start: [false]

    • Independent runs
    • Clean training
  2. Continuous: [true]

    • Stream handling
    • Online learning
  3. Compare: [true, false]

    • Adaptation study

Validation size control:

Considerations:

  • Early stopping needs
  • Stream processing
  • Data availability
  • Online scenarios

Typical values:

  • Small data: 0.2
  • Large data: 0.1
  • Streaming: Minimal

Patience parameter:

Impact:

  • Stopping timing
  • Adaptation period
  • Resource usage

Selection:

  • Short: 3-5 iterations
  • Long: 10+ iterations
  • Stream-appropriate

Random seed control:

Usage:

  • Fixed: Reproducible
  • Varied: Robustness
  • Multiple: Stability

Best practices:

  • Document seeds
  • Verify consistency
  • Test stability
R2score

Regression model evaluation metrics:

Purpose:

  • Model performance evaluation
  • Error measurement
  • Quality assessment
  • Model comparison

Selection criteria:

  • Error distribution
  • Scale sensitivity
  • Domain requirements
  • Business objectives
Default ~

Model's native scoring method:

  • Typically R² score
  • Model-specific implementation
  • Standard evaluation
  • Quick assessment
R2score ~

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
ExplainedVariance ~

Explained variance score:

Formula:

Properties:

  • Range: (-∞, 1]
  • Accounts for bias
  • Variance focus
  • Similar to R²

Best for:

  • Variance analysis
  • Bias assessment
  • Model stability
MaxError ~

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
NegMeanAbsoluteError ~

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
NegMeanSquaredError ~

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
NegRootMeanSquaredError ~

Negative root mean squared error:

Formula:

Properties:

  • Original scale
  • Outlier sensitive
  • Interpretable units
  • Negated for optimization

Best for:

  • Standard reporting
  • Interpretable errors
  • Model comparison
NegMeanSquaredLogError ~

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
NegMedianAbsoluteError ~

Negative median absolute error:

Formula:

Properties:

  • Highly robust
  • Original scale
  • Outlier resistant
  • Negated for optimization

Best for:

  • Robust evaluation
  • Heavy-tailed errors
  • Outlier presence
NegMeanPoissonDeviance ~

Negative Poisson deviance:

Formula:

Properties:

  • For count data
  • Non-negative values
  • Poisson assumption
  • Negated for optimization

Best for:

  • Count prediction
  • Event frequency
  • Rate modeling
NegMeanGammaDeviance ~

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
NegMeanAbsolutePercentageError ~

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
D2AbsoluteErrorScore ~

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²
D2PinballScore ~

D² score with pinball loss:

Properties:

  • Quantile focus
  • Asymmetric errors
  • Risk assessment
  • Distribution modeling

Best for:

  • Quantile regression
  • Risk analysis
  • Asymmetric costs
  • Distribution tails
D2TweedieScore ~

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

oneof
DefaultSplit

Standard 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

Random seed for reproducible splits. Ensures:

  • Consistent train/test sets
  • Reproducible experiments
  • Comparable model evaluations

Same seed guarantees identical splits across runs.

true

Data 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
0.8

Proportion 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
false

Maintain 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

oneof
DefaultCv

Standard 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
3

Number 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

Number 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.

Random 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.

true

Whether 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

Number 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

Seed for reproducible stratified splits. Ensures:

  • Consistent fold assignments
  • Reproducible results
  • Comparable experiments
  • Systematic validation

Fixed seed guarantees identical stratified splits.

false

Data 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

Number 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.

Random seed for reproducible shuffling. Controls:

  • Split randomization
  • Sample selection
  • Result reproducibility

Important for:

  • Debugging
  • Comparative studies
  • Result verification
0.2

Proportion 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

Number 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

Seed for reproducible stratified sampling. Ensures:

  • Consistent class proportions
  • Reproducible splits
  • Comparable experiments

Critical for:

  • Benchmarking
  • Research studies
  • Quality assurance
0.2

Fraction 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 + 1th 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.

Number 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

Maximum 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

Number 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

u64
0

Number 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