PROFESSIONAL_FEATURE_SELECTION
Feature selection made professional. SignalPrism doesn't just reduce features; it guarantees stability with Drift Detection, Adversarial Validation, and Temporal Decay Analysis.
from signalprism import FeatureSelector # 1. Initialize with Efficiency Intelligence selector = FeatureSelector( metric='neg_mean_squared_error', correlation_threshold=0.85, max_train_seconds=60 ) # 2. Fit with Triple-Layer Safety Net (Drift Defense) selector.fit( X_train, y_train, X_oot=X_oot, y_oot=y_oot, # Activates Temporal Safety Checks optimize_mode='budget' # "Find best efficiency per compute unit" ) # 3. Export Smart Report selector.export_html("signalprism_report.html") # 4. Transform Data X_clean = selector.transform(X_train)
Rigorous 5-Fold CV to measure consistency and prevent overfitting to a single fold.
Used over Gini importance for truthfulness, avoiding bias towards high-cardinality features.
High variance features are explicitly penalized, ensuring production reliability.
Monitors distribution shifts between Training and Out-of-Time (OOT) data. Catches features that fundamentally change shape.
Trains a lightweight Random Forest to distinguish Train users from OOT users. Catches complex, non-linear drift that histograms miss.
Measures Permutation Importance on Train vs. OOT. Identifies features that look stable but lose predictive power over time.
Tested on Medical Cost Personal Dataset with simulated drift.
| Metric | Original | SignalPrism | Delta |
|---|---|---|---|
| Features | 8 | 4 | -50% |
| RMSE | 4647.0 | 4646.9 | ~0.0% |
| Drift Detected | - | 2 Features | Removed |
| Inference Latency | 1.0x | 0.95x | -5% |
Targeting dollar costs and governance compliance.
Deep optimization for XGBoost & LightGBM.