Documentation Index
Fetch the complete documentation index at: https://docs.nimbusbci.com/llms.txt
Use this file to discover all available pages before exploring further.
Feature Normalization For BCI
Feature normalization keeps calibration, evaluation, and deployment data on the same scale. It is especially important for cross-session BCI, where electrode impedance, skin conductance, amplifier gain, and user state can shift feature amplitudes.When To Normalize
Normalize when:- using a model across sessions or days
- combining subjects or recording systems
- mixing feature families with different scales
- running long sessions where electrode/contact quality may drift
Recommended Workflow
- Python
- Julia
Method Choice
| Method | Use When | Tradeoff |
|---|---|---|
zscore | Default BCI workflow | Sensitive to extreme outliers. |
robust | Noisy data with artifacts | Less standard, more resilient. |
minmax | Bounded feature ranges are required | Very sensitive to outliers. |
zscore. Switch to robust when artifacts or heavy-tailed features make mean/std unstable.
Common Pitfalls
- Normalizing train and test separately: causes scale leakage and unstable evaluation.
- Normalizing raw EEG: can break feature extraction assumptions.
- Forgetting to save parameters: makes deployment data incompatible with training scale.
- Changing preprocessing after calibration: invalidates the saved normalization parameters.
What To Save
Save normalization parameters next to the model:Quality Checks
Before inference:- feature values are finite
- feature count matches model metadata
- normalization params came from training/calibration data
- test/deployment data used the same preprocessing pipeline
Next Read
Preprocessing Requirements
Prepare valid features before normalization.
External Preprocessing Integration
Export/import feature arrays across tools.
Batch Processing
Offline evaluation with normalized data.
Error Handling
Diagnose bad scale, shape, or confidence.