L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Données et recherche · SKILL.md

scienceclaw-benchmark-for42

scienceclaw-benchmark-for42

Use when a task gives hourly ICU records (vitals, labs, demographics, one stay per patient) with sepsis labels and asks for causal hour-by-hour sepsis alarms on new stays, scored by normalized clinical utility (PhysioNet/CinC 2019 early sepsis prediction; corresponds to FoR42 of the companion ScienceClaw-Eval benchmark).

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: scienceclaw-benchmark-for42 description: "Use when a task gives hourly ICU records (vitals, labs, demographics, one stay per patient) with sepsis labels and asks for causal hour-by-hour sepsis alarms on new stays, scored by normalized clinical utility (PhysioNet/CinC 2019 early sepsis prediction; corresponds to FoR42 of the companion ScienceClaw-Eval benchmark)." metadata: { "openclaw": { "emoji": "📊" } }

Early sepsis alarms from hourly ICU data

Task. Input: a long table, one row per patient-hour (patient_id, hour, the 40 challenge variables: vitals, labs, Age, Gender, Unit1/Unit2, HospAdmTime, ICULOS); the labelled table also has SepsisLabel. Deliverable: one 0/1 integer array per stay to score, as long as the stay, in order of first appearance.

Quality. Normalized clinical utility, higher is better: (U_obs - U_inaction) / (U_best - U_inaction) summed over stays; 1 is optimal, 0 equals never alarming, negative is worse than silence. Per hour: a true alarm earns up to +1 from 12 h before to 3 h after t_sepsis (first positive label + 6 h), a miss costs up to -2, a false alarm -0.05.

Tools (from scilib import sepsis, no pretrained weights).

  • fit_predict(train, [table_a, table_b]) returns (preds, info) with the chosen threshold and out-of-fold utility (oof_utility); operator sepsis_early_warning_alarms.
  • SepsisModel(targets, smooth, hold, prevalence, linear_weight): shallow LightGBM plus logistic regression on the causal features of build_features; tune on grouped out-of-fold utility.
  • normalized_utility(labels, preds) (operator sepsis_normalized_utility), stay_folds, causal_smooth, hold_alarms.

Routes. Baseline: class-balanced logistic regression on last-observation-carried-forward vitals plus static variables, threshold chosen for utility. Stronger: the boosted ensemble, compared by patient-grouped out-of-fold utility, not row-level AUC.

Rules.

  • Strict causality: the alarm at hour t uses rows 0..t of that stay only. Never use stay length, hours to the end of the record or whole-stay statistics: septic records end soon after onset, so "alarm near the end" scores well offline and is useless in use. Check by truncating stays and re-running; earlier hours must not change.
  • Split by patient, never by row. Septic stays are rare (about 7 % in the public data), so utility is noisy; report its spread.
  • The best threshold depends on the septic share (false alarms cost per hour); re-tune for a different hospital. Variables can be wholly missing at one site (EtCO2 in hospital A).
  • Keep the declared output: finite 0/1 integers, per-stay lengths.
Skills enregistrées