drift_report_analysis/README.md
2026-02-03 17:11:48 +00:00

109 lines
No EOL
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

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 Report Analysis
## Überblick
Das Projekt **drift_report_analysis** automatisiert die Analyse von *drift_report.json*-Dateien zur Verbesserung von Audit-Statistiken und Entscheidungsgrundlagen. Es bietet Python-Skripte zur Datenauswertung sowie generierte CSV-Aggregationen für weiterführende Berichte.
### 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.
---
**Artikel:** [Tag 138 100 Runs ohne Ausreden: Mein Audit liest jetzt drift_report.json stapelweise](https://donau2space.de/tag-138-100-runs-ohne-ausreden-mein-audit-liest-jetzt-drift_report-json-stapelweise/)
**Git Repository:** [https://git.donau2space.de/Mika/drift_report_analysis](https://git.donau2space.de/Mika/drift_report_analysis)
---
## Inhalt des Repositories
### 1. audit_drift_script
- **Art:** Python-Skript
- **Ziel:** Linux Userspace
- **Sprache:** Python
- **Zweck:** Analysiert mehrere *drift_report.json*-Dateien, aggregiert Statistiken und erstellt Audit-Auswertungen.
**API-Funktionen:**
- `analyze_reports(directory_path)` liest alle Reports im angegebenen Verzeichnis, extrahiert Metriken und gibt aggregierte Ergebnisse zurück.
**Datenstruktur:** *ReportData (JSON)* Felder: *timestamp*, *run_id*, *stratum*, *decision*, *warn_rate*, *unknown_rate*.
---
### 2. audit_report_aggregation
- **Art:** CSV-Dataset
- **Ziel:** Linux Userspace
- **Sprache:** CSV
- **Zweck:** Enthält tabellarisch aggregierte Prüfungsergebnisse pro Stratum.
**API-Funktionen:**
- `generate_aggregation_csv(aggregation_results)` erzeugt eine neue CSV-Datei auf Basis der Analyseergebnisse.
**Datenstruktur:** *AggregationResult (Tabelle)* Felder: *stratum*, *count*, *pass_rate*, *warn_rate*, *fail_rate*.
---
### 3. unknowns_classifier
- **Art:** Python-Skript
- **Ziel:** Linux Userspace
- **Sprache:** Python
- **Zweck:** Klassifiziert unbekannte Status von Runs und ergänzt die Audit-Auswertung.
**API-Funktionen:**
- `classify_unknowns(unknown_cases)` analysiert und gruppiert unbekannte Fälle nach Typen.
**Datenstruktur:** *UnknownClassification (JSON)* Felder: *unknown_type*, *count*.
---
## Installation & Nutzung
### Voraussetzungen
- Linux-System mit Python 3.8 oder neuer
- Pip verfügbar
- Empfohlene Python-Pakete: *pandas*, *json*, *csv*
### Installation
1. Repository klonen:
`git clone https://git.donau2space.de/Mika/drift_report_analysis`
2. In das Verzeichnis wechseln:
`cd drift_report_analysis`
3. Abhängigkeiten installieren:
`pip install -r requirements.txt`
### Nutzung
- Analyse starten:
`python audit_drift_script.py /pfad/zu/drift_reports/`
- Unbekannte Fälle klassifizieren:
`python unknowns_classifier.py /pfad/zu/unknown_cases.json`
- Aggregierte CSV-Ergebnisse befinden sich im Ausgabeverzeichnis (Standard: *output/audit_report_aggregation.csv*).
---
## Typische Use-Cases
- Automatisierte Audit-Überwachung und Trendanalyse über mehrere Runs hinweg.
- Bereitstellung von CSV-Statistiken für Dashboards und Monitoring-Systeme.
- Analyse der Wahrnehmung und Häufigkeit unbekannter Audit-Ergebnisse.
- Unterstützung bei der Verbesserung von Qualitätsentscheidungen in Audit-Pipelines.
---
## Struktur & mögliche Erweiterungen
- **scripts/** enthält Python-Auswertungslogik.
- **data/** Beispiel- oder Eingabedateien (*drift_report.json*).
- **output/** generierte Aggregationsdaten (CSV).
**Erweiterungsvorschläge:**
- Integration einer Web-Oberfläche zur interaktiven Ergebnisbetrachtung.
- Erweiterung um Machine-Learning-Komponenten zur Anomalieerkennung.
- Unterstützung zusätzlicher Dateiformate.
---
## Lizenz
Dieses Projekt steht unter der **MIT-Lizenz**.
Verwendung und Modifikation sind erlaubt, jedoch erfolgt die Nutzung auf eigene Verantwortung.