report (MetricsReport)¶
MetricsReport is the single flat dataclass that carries a full
evaluation result for either regime. The same object exposes the
detection-style ranking metrics (roc_auc / pr_auc / brier /
mcc) and the forecasting-style alarm metrics (sensitivity /
fp_per_hour / ioc / time_in_warning_frac), plus — since
v0.2.0 — the forecasting confusion-matrix scores (specificity /
ppv / npv / forecasting_f1 with the raw n_tn /
n_opportunities denominators) and the observed lead time
(lead_time_mean / lead_time_median; the per-seizure array lives in
extras["lead_times_seconds"]). See
The Alarm Confusion Matrix: Definitions and the SPH/SOP Framework for the definitions.
It serialises three ways: to_dict() (JSON-friendly), to_frame()
(a one-row pandas.DataFrame that stacks cleanly across
patients/folds), and to_json().
MetricsReport — frozen dataclass that carries a full evaluation result.
Designed so the same object can be: - serialised to JSON for stx.io.save(rep.to_dict(), “metrics.json”) - materialised as a one-row pandas DataFrame for stacking across patients/folds - pretty-printed for terminal logs.
- class scitex_seizure_metrics.report.MetricsReport(name='', regime='', roc_auc=None, pr_auc=None, brier=None, balanced_accuracy=None, mcc=None, sensitivity=None, precision=None, f1=None, fp_per_day=None, fp_per_hour=None, n_ref_events=None, n_tp=None, n_fp=None, sph_seconds=None, sop_seconds=None, time_in_warning_frac=None, ioc=None, surrogate_sensitivity=None, specificity=None, ppv=None, npv=None, forecasting_f1=None, n_tn=None, n_opportunities=None, lead_time_mean=None, lead_time_median=None, extras=<factory>)[source]¶
Bases:
objectSingle-row evaluation result.
Fields are deliberately flat so the report stacks cleanly across patients/folds via pd.concat([r.to_frame() for r in reports]).
- Parameters:
name (str)
regime (str)
roc_auc (float | None)
pr_auc (float | None)
brier (float | None)
balanced_accuracy (float | None)
mcc (float | None)
sensitivity (float | None)
precision (float | None)
f1 (float | None)
fp_per_day (float | None)
fp_per_hour (float | None)
n_ref_events (int | None)
n_tp (int | None)
n_fp (int | None)
sph_seconds (float | None)
sop_seconds (float | None)
time_in_warning_frac (float | None)
ioc (float | None)
surrogate_sensitivity (float | None)
specificity (float | None)
ppv (float | None)
npv (float | None)
forecasting_f1 (float | None)
n_tn (int | None)
n_opportunities (int | None)
lead_time_mean (float | None)
lead_time_median (float | None)