From 1bea35203c4f025a61399c65645e0b5f3ae60234 Mon Sep 17 00:00:00 2001 From: Mika Date: Thu, 29 Jan 2026 16:23:32 +0000 Subject: [PATCH] Add README.md --- README.md | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..b6b582b --- /dev/null +++ b/README.md @@ -0,0 +1,90 @@ +# 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. \ No newline at end of file