skills/cv/per-modality-ensemble-averaging/SKILL.md
Train separate models per imaging modality (FLAIR/T1w/T1wCE/T2w) and average their predictions for final ensemble
npx skillsauth add wenmin-wu/ds-skills cv-per-modality-ensemble-averagingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Multi-modal medical imaging (MRI sequences, CT windows) captures complementary information. Rather than concatenating modalities into a single multi-channel input, train an independent model per modality and average their sigmoid/softmax outputs at inference. This avoids missing-modality issues and lets each model specialize, often outperforming multi-channel approaches when modality quality varies.
import numpy as np
from sklearn.metrics import roc_auc_score
def train_per_modality(train_df, val_df, modalities, train_fn, predict_fn):
"""Train one model per modality, return ensemble predictions."""
models = {}
for mod in modalities:
models[mod] = train_fn(train_df, val_df, modality=mod)
val_preds = np.zeros(len(val_df))
for mod in modalities:
val_preds += predict_fn(models[mod], val_df, modality=mod)
val_preds /= len(modalities)
auc = roc_auc_score(val_df['label'], val_preds)
return models, auc
modalities = ['FLAIR', 'T1w', 'T1wCE', 'T2w']
models, auc = train_per_modality(df_train, df_val, modalities, train_fn, predict_fn)
data-ai
Scaled Pinball Loss (SPL) metric for evaluating quantile forecasts, normalized by mean absolute successive differences of training data
data-ai
Walk backward through a time series and multiplicatively rescale segments when jumps exceed a fraction of the running mean to correct data collection anomalies
testing
Transform forecasting target to next/current ratio minus one so that optimizing MAE or squared error implicitly minimizes SMAPE
tools
Convert point forecasts to prediction intervals by scaling with logit-transformed quantile ratios passed through a Normal CDF