Module multi_layer

Module multi_layer 

Source
Expand description

Multi-Layer Stacking Ensemble Implementation

This module provides advanced multi-layer stacking ensemble methods that combine multiple layers of base estimators with sophisticated meta-learning strategies and feature engineering. The implementation supports:

  • Deep stacking with multiple layers
  • Advanced meta-feature engineering strategies
  • Ensemble pruning and diversity analysis
  • Confidence-based weighting
  • Multiple meta-learning strategies
  • SIMD-accelerated operations for performance

§Features

§Multi-Layer Architecture

  • Configurable number of stacking layers
  • Layer-wise meta-feature generation
  • Hierarchical feature transformation

§Advanced Meta-Feature Engineering

  • Statistical features (mean, std, skewness, etc.)
  • Interaction features (pairwise products)
  • Confidence-based features (entropy, agreement)
  • Diversity-based features (coefficient of variation)
  • Comprehensive features (combination of all strategies)
  • Temporal features for time-series data
  • Spectral features using FFT analysis
  • Information-theoretic features (mutual information, entropy)
  • Neural embedding features
  • Kernel-based features (RBF, polynomial, cosine)
  • Basis expansion features (Legendre polynomials)
  • Meta-learning features (complexity, stability, agreement)

§Ensemble Optimization

  • Diversity-based ensemble pruning
  • Layer-wise feature importance analysis
  • Confidence weighting
  • Multiple regularization strategies

§Example

use sklears_ensemble::stacking::multi_layer::MultiLayerStackingClassifier;
use sklears_ensemble::stacking::config::MultiLayerStackingConfig;
use sklears_core::traits::Fit;
use scirs2_core::ndarray::array;

// Create a deep stacking classifier with 3 layers
let config = MultiLayerStackingConfig::deep_stacking(3, 5);
let classifier = MultiLayerStackingClassifier::new(config);

// Training data
let x = array![[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]];
let y = array![0, 1, 0];

// Fit the model
let fitted = classifier.fit(&x, &y).unwrap();

// Make predictions
let predictions = fitted.predict(&x).unwrap();
let probabilities = fitted.predict_proba(&x).unwrap();

Structs§

MultiLayerStackingClassifier
Multi-Layer Stacking Classifier
StackingLayer
Represents a single layer in the multi-layer stacking ensemble