drift_alarm_analysis/README.md
2026-01-29 16:23:32 +00:00

90 lines
No EOL
3.7 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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.