Data Science · Klinik Klinische Datenanalyse & Machine Learning
Ansicht
Lerntiefe
Codeansicht
Farbschema

34 · Studiendesign zur Validierung klinischer KI-Systeme

silent_deployment_drift.png

Abbildung · Quellcode

silent_deployment_drift

Erzeugt von fig_silent_deployment_drift() in module/34-design-ki-studien/code/figures.py, Zeile 45–69.

Python
def fig_silent_deployment_drift(drift: pd.DataFrame) -> None:
    fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(9.5, 4.6))
    fig.subplots_adjust(top=0.78, bottom=0.3, wspace=0.32)

    ax1.plot(drift["monat"], drift["auc"], "o-", color=PRIMARY, lw=2)
    ax1.axhline(drift["auc"].iloc[0], color=PRIMARY, ls=":", lw=1, alpha=0.6)
    ax1.set_ylim(0.7, 0.95)
    ax1.set_xlabel("Monat im Silent Deployment")
    ax1.set_ylabel("AUC")
    ax1.set_title("Diskriminierung (AUC)", loc="left")

    ax2.plot(drift["monat"], drift["brier"], "o-", color=EVENT, lw=2)
    ax2.axhline(drift["brier"].iloc[0], color=EVENT, ls=":", lw=1, alpha=0.6)
    ax2.set_xlabel("Monat im Silent Deployment")
    ax2.set_ylabel("Brier Score (niedriger = besser)")
    ax2.set_title("Kalibrierung (Brier Score)", loc="left")

    fig.suptitle("Dieselbe eingefrorene Vorhersage, eine zunehmend kraenkere Population:\n"
                 "AUC bleibt stabil, aber die Kalibrierung verschlechtert sich",
                 fontsize=12.5, fontweight="bold", x=0.02, ha="left", y=0.98)
    fig.text(0.02, 0.02, "Gepunktete Linie = Monat 0 (retrospektive Validierung). Modell fixiert;\n"
                        "nur die SOFA-Score-Verteilung der ausgehaltenen Testkohorte wurde fuer die\n"
                        "Simulation schrittweise verschoben (staerkeres Gewicht auf hoeheren Scores).",
             fontsize=8.6, color="#6B7178")
    save(fig, ASSETS / "silent_deployment_drift.png")

← zurück zu Modul 34 · vollständige Datei ansehen