Ridge / Classifier Layer
Ridge Classifier - A linear classifier using Ridge regression with regularization. This classifier first converts the target values into {-1, 1} and then treats the problem as a regression task (multi-output regression in the multiclass case).
Mathematical form: where:
- is the feature matrix
- is the target vector (converted to {-1, 1})
- is the regularization strength
- is the coefficient vector
Key characteristics:
- L2 regularization
- Linear decision boundaries
- Efficient computation
- Multiple solver options
- Handles multiclass problems
Common applications:
- Text classification
- Bioinformatics
- Image classification
- Feature selection
- High-dimensional data
Outputs:
- Predicted Table: Input data with predictions
- Validation Results: Cross-validation metrics
- Test Metric: Test set performance
- ROC Curve Data: ROC analysis information
- Confusion Matrix: Classification breakdown
- Feature Importances: Feature coefficients
Note: Particularly effective when features are correlated.
SelectFeatures
[column, ...]Feature columns for Ridge classification:
Requirements:
- Numerical features required
- No missing values
- Non-constant columns
- Finite values only
Preprocessing guidelines:
-
Scaling:
- Standardize features (, )
- Critical for Ridge performance
- Ensures fair regularization
-
Feature engineering:
- Handle categorical variables
- Create interaction terms
- Remove redundant features
- Consider dimensionality reduction
-
Data quality:
- Handle missing values
- Remove outliers
- Check for collinearity
- Ensure feature consistency
If empty, uses all numeric columns except target.
SelectTarget
columnTarget column for classification:
Requirements:
- Categorical labels
- No missing values
- At least two classes
- Properly encoded
Internal encoding:
- Binary: {-1, 1}
- Multiclass: One-vs-Rest
Class characteristics:
- Check class balance
- Monitor rare classes
- Consider merging rare classes
- Document class meanings
Quality checks:
- Validate label accuracy
- Check for label noise
- Ensure consistent encoding
- Verify class definitions
Params
oneofStandard configuration optimized for Ridge Classification tasks:
Mathematical objective:
Default configuration:
-
Regularization:
- (balanced regularization)
- Prevents overfitting while maintaining flexibility
- L2 penalty for stable solutions
-
Solver settings:
- Auto solver selection
- Tolerance = 0.0001
- Max iterations = 1000
-
Model structure:
- Fit intercept enabled
- Uniform class weights
- Standard scaling assumed
Performance characteristics:
- Time complexity:
- Space complexity:
- Convergence typically in < 1000 iterations
- Numerically stable solutions
Best suited for:
- Medium-sized datasets ()
- Moderate feature counts ()
- Standardized features
- Initial model exploration
Expected behavior:
- Stable convergence
- Balanced bias-variance trade-off
- Good generalization
- Reasonable training speed
Preprocessing requirements:
- Feature standardization
- Handling missing values
- Encoding categorical variables
- Removing constant features
Warning: May need tuning for:
- Highly imbalanced classes
- Very large datasets
- Highly correlated features
- Sparse feature matrices
Fine-grained control over Ridge Classifier parameters:
Mathematical framework: Subject to constraints and modifications based on parameters.
Parameter categories:
- Regularization control
- Optimization settings
- Model structure
- Computational options
Tuning guidelines provided for each parameter below.
Alpha
f64Regularization strength parameter :
Controls L2 penalty:
Effect on model:
- Larger : Stronger regularization, simpler model
- Smaller : Weaker regularization, more complex model
Typical ranges:
- Strong: [10.0, 100.0]
- Standard: [0.1, 1.0]
- Weak: [0.001, 0.1]
Selection guide:
- High noise: Increase α
- Large features: Increase α
- Small dataset: Increase α
- Clean data: Decrease α
Solver
enumOptimization algorithm for solving the Ridge classification problem:
Objective function:
Selection criteria:
- Dataset size:
- Small: Cholesky, SVD
- Medium: Auto, LSQR
- Large: SAG, SAGA, SparseCG
- Memory constraints:
- Low: LSQR, SparseCG
- Medium: Auto, SAG
- High: Cholesky, SVD
- Matrix properties:
- Singular: SVD
- Sparse: SparseCG, LSQR
- Well-conditioned: Cholesky
Automatically selects optimal solver based on data characteristics:
Selection criteria:
- If : Chooses SAG/SAGA
- If sparsity > 0.5: Selects SparseCG/LSQR
- If condition number : Uses SVD
- Otherwise: Uses Cholesky
Best for:
- Initial modeling
- Unknown data properties
- General purpose use
- Production systems
Singular Value Decomposition solver using matrix factorization:
Algorithm: Solution: where:
Characteristics:
- Highest numerical stability
- Handles singular matrices
- Computationally intensive
- Dense matrix operations
Best for:
- Ill-conditioned problems
- Small to medium datasets
- When accuracy critical
- Multicollinear features
Cholesky decomposition solver using matrix factorization:
Algorithm: Solution:
Characteristics:
- Fast for small problems
- Direct solution method
- Requires positive definite matrix
- Dense matrix operations
Best for:
- Small datasets
- Well-conditioned problems
- When speed important
- Dense feature matrices
Conjugate Gradient solver for sparse matrices:
Iterative update: where:
Characteristics:
- Iterative method
- Memory efficient
- Handles large sparse data
- No matrix factorization
Best for:
- Large sparse datasets
- Limited memory scenarios
- High-dimensional data
- Text classification
Least Squares QR solver using iterative procedure:
Minimizes:
Characteristics:
- Fast convergence
- Memory efficient
- Good numerical properties
- Handles rectangular systems
Best for:
- Large sparse problems
- Streaming data
- Limited memory
- Quick solutions needed
Stochastic Average Gradient descent:
Update rule: where is the stored gradient for sample i
Characteristics:
- Linear convergence rate
- Constant memory usage
- Efficient for large samples
- Handles L2 regularization
Best for:
- Large datasets
- Online learning
- Smooth optimization
- When memory limited
SAGA (Improved Stochastic Average Gradient):
Update rule: where is the average of stored gradients
Characteristics:
- Unbiased gradient estimates
- Supports all penalties
- Fast convergence
- Memory efficient
Best for:
- Large datasets
- Non-smooth penalties
- Online learning
- Complex regularization
Limited-memory BFGS with positive constraint:
Approximates Hessian update: Subject to: for all i
Characteristics:
- Quasi-Newton method
- Forces positive coefficients
- Memory efficient
- Good convergence
Best for:
- Positive coefficient requirements
- Medium-scale problems
- When interpretability needed
- Limited memory scenarios
Note: Only used with positive=True
Tol
f64Convergence tolerance :
Stopping criterion:
Typical values:
- Strict: 1e-6 to 1e-5
- Standard: 1e-4 (default)
- Relaxed: 1e-3 to 1e-2
Trade-offs:
- Smaller: More precise, slower
- Larger: Less precise, faster
ClassWeight
enumClass weight adjustment strategy for handling imbalanced datasets:
Mathematical formulation: Modified objective: where:
- is the weight for class of sample i
- is the loss function
- is the model prediction
- is the regularization term
Impact on model:
- Modifies effective sample importance
- Adjusts decision boundary location
- Influences classification thresholds
- Affects gradient magnitudes
Selection criteria:
- Class distribution imbalance
- Misclassification costs
- Business/domain requirements
- Performance metric priorities
Equal weights for all classes:
Weight formula:
Characteristics:
- Natural class proportions preserved
- No adjustment for frequencies
- Faster training process
- Original distribution maintained
Best for:
- Balanced datasets ()
- When natural proportions matter
- Representative sampling
- Equal misclassification costs
Warning: May underperform on imbalanced data
Weights inversely proportional to class frequencies:
Weight formula: where:
- is total samples
- is number of classes
- is samples in class j
Example: For binary case with 100 samples (90/10 split):
- Majority class weight:
- Minority class weight:
Characteristics:
- Automatically adjusts for imbalance
- Higher weights for minority classes
- Equalizes class importance
- Helps rare class detection
Best for:
- Imbalanced datasets
- Rare event detection
- Fraud detection
- Medical diagnosis
- Anomaly detection
Note: May increase prediction variance
FitIntercept
boolWhether to calculate the intercept term :
Model form:
Set false only when:
- Data is already centered
- Zero-intercept desired
- Testing theoretical properties
MaxIter
u64Maximum number of iterations for optimization:
Iteration bounds: in gradient descent:
Guidelines:
- Basic: 1000 (default)
- Complex: 2000-5000
- Large-scale: 5000+
Increase if:
- Non-convergence warnings
- Complex decision boundary
- Large dataset
RandomState
u64Random number generator seed:
Controls randomization in:
- SAG/SAGA solvers
- Data shuffling
- Initialization
Fixed value ensures:
- Reproducible results
- Consistent behavior
- Comparable experiments
Exhaustive hyperparameter optimization for Ridge Classifier:
Search strategy:
- Tests all parameter combinations
- Uses cross-validation for evaluation
- Optimizes specified scoring metric
- Returns best performing configuration
Computational complexity:
- Time:
- Memory:
Best practices:
- Start with coarse grid
- Focus on impactful parameters
- Consider parameter interactions
- Monitor resource usage
Alpha
[f64, ...]Regularization strength values to evaluate:
Search spaces:
- Linear: [0.1, 1.0, 10.0]
- Logarithmic: [1e-3, 1e-2, 1e-1, 1e0, 1e1]
- Fine-grained: [0.5, 1.0, 2.0, 5.0]
Strategy: Start wide, then refine around best values
Solver
[enum, ...]Optimization algorithm for solving the Ridge classification problem:
Objective function:
Selection criteria:
- Dataset size:
- Small: Cholesky, SVD
- Medium: Auto, LSQR
- Large: SAG, SAGA, SparseCG
- Memory constraints:
- Low: LSQR, SparseCG
- Medium: Auto, SAG
- High: Cholesky, SVD
- Matrix properties:
- Singular: SVD
- Sparse: SparseCG, LSQR
- Well-conditioned: Cholesky
Automatically selects optimal solver based on data characteristics:
Selection criteria:
- If : Chooses SAG/SAGA
- If sparsity > 0.5: Selects SparseCG/LSQR
- If condition number : Uses SVD
- Otherwise: Uses Cholesky
Best for:
- Initial modeling
- Unknown data properties
- General purpose use
- Production systems
Singular Value Decomposition solver using matrix factorization:
Algorithm: Solution: where:
Characteristics:
- Highest numerical stability
- Handles singular matrices
- Computationally intensive
- Dense matrix operations
Best for:
- Ill-conditioned problems
- Small to medium datasets
- When accuracy critical
- Multicollinear features
Cholesky decomposition solver using matrix factorization:
Algorithm: Solution:
Characteristics:
- Fast for small problems
- Direct solution method
- Requires positive definite matrix
- Dense matrix operations
Best for:
- Small datasets
- Well-conditioned problems
- When speed important
- Dense feature matrices
Conjugate Gradient solver for sparse matrices:
Iterative update: where:
Characteristics:
- Iterative method
- Memory efficient
- Handles large sparse data
- No matrix factorization
Best for:
- Large sparse datasets
- Limited memory scenarios
- High-dimensional data
- Text classification
Least Squares QR solver using iterative procedure:
Minimizes:
Characteristics:
- Fast convergence
- Memory efficient
- Good numerical properties
- Handles rectangular systems
Best for:
- Large sparse problems
- Streaming data
- Limited memory
- Quick solutions needed
Stochastic Average Gradient descent:
Update rule: where is the stored gradient for sample i
Characteristics:
- Linear convergence rate
- Constant memory usage
- Efficient for large samples
- Handles L2 regularization
Best for:
- Large datasets
- Online learning
- Smooth optimization
- When memory limited
SAGA (Improved Stochastic Average Gradient):
Update rule: where is the average of stored gradients
Characteristics:
- Unbiased gradient estimates
- Supports all penalties
- Fast convergence
- Memory efficient
Best for:
- Large datasets
- Non-smooth penalties
- Online learning
- Complex regularization
Limited-memory BFGS with positive constraint:
Approximates Hessian update: Subject to: for all i
Characteristics:
- Quasi-Newton method
- Forces positive coefficients
- Memory efficient
- Good convergence
Best for:
- Positive coefficient requirements
- Medium-scale problems
- When interpretability needed
- Limited memory scenarios
Note: Only used with positive=True
Tol
[f64, ...]Convergence tolerance values to test:
Typical grids:
- Coarse: [1e-2, 1e-3, 1e-4]
- Fine: [5e-5, 1e-4, 5e-4]
- Extended: [1e-5, 1e-4, 1e-3, 1e-2]
Balance precision vs computation time
ClassWeight
[enum, ...]Class weight adjustment strategy for handling imbalanced datasets:
Mathematical formulation: Modified objective: where:
- is the weight for class of sample i
- is the loss function
- is the model prediction
- is the regularization term
Impact on model:
- Modifies effective sample importance
- Adjusts decision boundary location
- Influences classification thresholds
- Affects gradient magnitudes
Selection criteria:
- Class distribution imbalance
- Misclassification costs
- Business/domain requirements
- Performance metric priorities
Equal weights for all classes:
Weight formula:
Characteristics:
- Natural class proportions preserved
- No adjustment for frequencies
- Faster training process
- Original distribution maintained
Best for:
- Balanced datasets ()
- When natural proportions matter
- Representative sampling
- Equal misclassification costs
Warning: May underperform on imbalanced data
Weights inversely proportional to class frequencies:
Weight formula: where:
- is total samples
- is number of classes
- is samples in class j
Example: For binary case with 100 samples (90/10 split):
- Majority class weight:
- Minority class weight:
Characteristics:
- Automatically adjusts for imbalance
- Higher weights for minority classes
- Equalizes class importance
- Helps rare class detection
Best for:
- Imbalanced datasets
- Rare event detection
- Fraud detection
- Medical diagnosis
- Anomaly detection
Note: May increase prediction variance
FitIntercept
[bool, ...]Whether to fit intercept:
Options:
- [true]: Standard modeling
- [true, false]: Compare both
Usually keep [true] unless data centered
MaxIter
[u64, ...]Maximum iterations to test:
Common ranges:
- Basic: [500, 1000, 2000]
- Extended: [1000, 2000, 5000]
- Comprehensive: [500, 1000, 2000, 5000]
Include larger values if convergence issues
RandomState
u64Random seed for reproducibility:
Controls:
- Cross-validation splits
- SAG/SAGA initialization
- Data shuffling
Fixed value ensures reproducible search
RefitScore
enumMetric for evaluating model performance during training and validation:
Purpose:
- Model selection criteria
- Performance evaluation
- Cross-validation scoring
- Hyperparameter optimization
Selection impact:
- Guides model selection
- Affects parameter tuning
- Influences early stopping
- Determines best model choice
Note: Choice should align with problem objectives and data characteristics
Uses estimator's built-in scoring method:
For Ridge Classifier:
Characteristics:
- Standard accuracy metric
- Equal weight to all samples
- Simple interpretation
- Fast computation
Best for:
- Balanced datasets
- Quick evaluations
- When unsure about metric
- General performance assessment
Standard classification accuracy score:
Formula:
Properties:
- Range: [0, 1]
- Perfect score: 1.0
- Baseline: max(class proportions)
Advantages:
- Intuitive interpretation
- Fast computation
- Direct meaning
- Widely used
Best for:
- Balanced classes
- Equal error costs
- Overall performance
- Simple problems
Warning: Misleading for imbalanced data
Class-weighted accuracy score:
Formula:
For binary classification:
Properties:
- Range: [0, 1]
- Perfect score: 1.0
- Random baseline: 0.5
- Accounts for class imbalance
Advantages:
- Handles imbalanced data
- Equal class importance
- Better than raw accuracy
- Robust to class skew
Best for:
- Imbalanced datasets
- When minority class important
- Multi-class problems
- Healthcare applications
- Anomaly detection
Note: May differ significantly from raw accuracy
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