You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Patient-level k-fold cross-validation in place of the single 70/10/20 holdout.
Description
The paper states that a canonical rerun with patient-level cross-validation is in progress. Nothing in this repo tracks that work and no code path does k-fold, so the claim is currently unbacked.
Every reported number rests on one split with a 245-row test fold. The bootstrap intervals from #64 do not close this gap: they quantify resampling noise within that one split, not variance across splits. Those are different quantities and a reader can easily take the first for the second. With EF<=40% a minority class at this cohort size, split-to-split variance is plausibly the larger of the two.
Steps:
Add a patient-level k-fold splitter alongside scripts/make_splits.py, keeping the existing zero-leakage check per fold so no subject_id appears in two folds.
Retrain all four probes per fold from the same manifest, seeded, reusing the train_probes.py path so the per-fold runs are directly comparable to the canonical single-split run.
Report per-fold and pooled MAE and EF<=40% AUROC for all three inference conditions.
Report across-fold spread separately from the within-fold bootstrap, and label each in the artifact so the two intervals can never be read as the same measure.
Task metadata
E13Features / method
Patient-level k-fold cross-validation in place of the single 70/10/20 holdout.
Description
The paper states that a canonical rerun with patient-level cross-validation is in progress. Nothing in this repo tracks that work and no code path does k-fold, so the claim is currently unbacked.
Every reported number rests on one split with a 245-row test fold. The bootstrap intervals from #64 do not close this gap: they quantify resampling noise within that one split, not variance across splits. Those are different quantities and a reader can easily take the first for the second. With EF<=40% a minority class at this cohort size, split-to-split variance is plausibly the larger of the two.
Steps:
scripts/make_splits.py, keeping the existing zero-leakage check per fold so nosubject_idappears in two folds.train_probes.pypath so the per-fold runs are directly comparable to the canonical single-split run.Acceptance criteria:
full,echo_droppedandecg_dropped.