# Drift Alarm Analysis ## Überblick Das Experiment **drift_alarm_analysis** untersucht die Warnquote bei Drift-Checks innerhalb von Continuous Integration-Pipelines basierend auf historischen Daten. Ziel ist die nachvollziehbare Quantifizierung und Interpretation von Abweichungen (Drift) in automatisierten Modellerneuerungsprozessen. **Link zum Artikel:** [Drift-Alarm: Einmal rückwärts gerechnet – welche Warnquote ist normal?](https://donau2space.de/tag-133-1713-drift-alarm-einmal-rueckwaerts-gerechnet-welche-warn-quote-ist-normal/) **Git Repository:** [https://git.donau2space.de/Mika/drift_alarm_analysis](https://git.donau2space.de/Mika/drift_alarm_analysis) ### Hinweis Alle Inhalte wurden per KI generiert. Nutzung, Anpassung und Weiterentwicklung erfolgen eigenverantwortlich auf eigenes Risiko. Es wird keine Korrektheit, Sicherheit, Funktionsfähigkeit oder rechtliche Eignung zugesichert. ## Inhalt des Repositories Das Repository enthält drei Python-Skripte, die gemeinsam die Sammlung, Analyse und Berichterstellung zur Drift-Warnquote realisieren. ### 1. drift_analysis - **Art:** Python-Skript - **Zielsystem:** Linux-Userspace - **Sprache:** Python - **Zweck:** Analyse der Warnquote bei Drift-Checks basierend auf sogenannten Frozen-Runs. **API-Funktionen:** - `calculate_warn_rate(frozen_runs, threshold)` – Berechnet die Anzahl der Warnungen und die Gesamtzahl der Runs. **Datenstrukturen:** - `FrozenRun` (JSON) – Felder: run_id, status, is_pinned ### 2. report_generator - **Art:** Python-Skript - **Zielsystem:** Linux-Userspace - **Sprache:** Python - **Zweck:** Erzeugt einen Bericht über Warn- und Fehlerraten basierend auf Analyseergebnissen. **API-Funktionen:** - `generate_report(warn_count, total_runs, threshold)` – Erstellt einen Berichtspfad und gibt diesen zurück. ### 3. drift_data_collection - **Art:** Python-Skript - **Zielsystem:** Linux-Userspace - **Sprache:** Python - **Zweck:** Sammelt historische Frozen-Run-Daten für die Analyse. **API-Funktionen:** - `collect_frozen_runs(run_ids)` – Liest und aggregiert historische Laufdaten. ## Installation & Nutzung Für den Einsatz ist eine Linux-Umgebung mit installiertem Python 3 erforderlich. ### Installation 1. Repository klonen: - `git clone https://git.donau2space.de/Mika/drift_alarm_analysis` 2. In das Projektverzeichnis wechseln: - `cd drift_alarm_analysis` 3. Abhängigkeiten installieren (falls vorhanden, z. B. in requirements.txt definiert): - `pip install -r requirements.txt` ### Nutzung Die Skripte werden direkt über die Kommandozeile ausgeführt. #### Beispielausführung - Daten sammeln: - `python drift_data_collection.py --run-ids 1001 1002 1003` - Analyse durchführen: - `python drift_analysis.py --input frozen_runs.json --threshold 0.05` - Bericht generieren: - `python report_generator.py --analysis drift_results.json` ## Typische Use-Cases - Überwachung der Stabilität von ML-Modellen in CI/CD-Umgebungen. - Rückblickende Analyse von Drift-Ereignissen in Experimentreihen. - Automatische Berichterstellung zur Modellgüte über Zeitverläufe. ## Struktur & Erweiterbarkeit Das Repository ist modular aufgebaut: - **Datenebene:** Sammlung von Frozen-Runs (`drift_data_collection`) - **Analyseebene:** Warnquotenberechnung (`drift_analysis`) - **Reporting-Ebene:** Ergebniszusammenfassung und Berichtsgenerierung (`report_generator`) ### Erweiterungspotenzial - Integration weiterer Kennzahlen (z. B. Metriken zur Modellgüte). - Anbindung an CI-Systeme zur automatischen Auswertung. - Erweiterung des Reportgenerators um visuelle Ausgaben (Diagramme, HTML-Berichte). ## Lizenz Dieses Projekt steht unter der **MIT Lizenz**. Alle Inhalte wurden automatisch per KI generiert. Nutzung auf eigene Gefahr.