policy_v1_1_evaluation/README.md
2026-02-05 13:42:07 +00:00

96 lines
No EOL
3.9 KiB
Markdown
Raw 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.

# Policy v1.1 Evaluation
## Überblick
Dieses Repository dokumentiert das Experiment **policy_v1_1_evaluation**, das der Evaluierung und Verbesserung der Policy v1.1 durch Datenanalyse und eine Decision-Engine dient. Ziel ist es, Audit-Daten zu verarbeiten, Schwellenwert-basiert zu bewerten und resultierende Entscheidungen zu analysieren.
Link zum Artikel: [https://donau2space.de/tag-140-perzentile-statt-bauchgefuehl-policy-v1-1-wird-endlich-konstant/](https://donau2space.de/tag-140-perzentile-statt-bauchgefuehl-policy-v1-1-wird-endlich-konstant/)
Git-Repository: [https://git.donau2space.de/Mika/policy_v1_1_evaluation](https://git.donau2space.de/Mika/policy_v1_1_evaluation)
### 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
### 1. audit_data_processing
- **Art:** Python-Skript
- **Zielumgebung:** Linux Userspace
- **Sprache:** Python
- **Zweck:** Verarbeitung von *audit.csv*-Dateien sowie Berechnung von Perzentilen.
- **API-Funktionen:**
- `calculate_percentiles(data, percentile_levels)` Berechnet Perzentilwerte aus den gegebenen Auditdaten und liefert sie als Dictionary.
- **Datenstruktur:**
- `RunData (JSON)` mit Feldern: `run_id`, `warn_rate`, `unknown_rate`, `pinned`
### 2. decision_engine
- **Art:** Python-Skript
- **Zielumgebung:** Linux Userspace
- **Sprache:** Python
- **Zweck:** Bewertung einzelner Runs anhand definierter Schwellenwerte.
- **API-Funktionen:**
- `evaluate_run(run_data)` Prüft ein Run-Datensatzobjekt und liefert ein Bewertungsresultat als Dictionary.
- **Datenstruktur:**
- `EvaluationResult (JSON)` mit Feldern: `final_decision`, `reason`
### 3. results_analysis
- **Art:** Python-Skript
- **Zielumgebung:** Linux Userspace
- **Sprache:** Python
- **Zweck:** Analyse von Ergebnissen, Erstellung einer Confusion-Matrix und Ermittlung von Deltas zwischen alten und neuen Ergebnissen.
- **API-Funktionen:**
- `create_confusion_matrix(previous_results, new_results)` Erstellt eine Confusion-Matrix zur Vergleichsanalyse.
- `get_deltas(previous_results, new_results)` Bestimmt Veränderungen zwischen Ergebnisständen und gibt eine Delta-Liste zurück.
- **Datenstruktur:**
- `ConfusionMatrix (JSON)` mit Feldern: `TP`, `TN`, `FP`, `FN`
---
## Installation & Nutzung
Voraussetzung ist eine funktionierende Python-Umgebung (≥3.8) unter Linux.
### Installation
1. Repository klonen:
```bash
git clone https://git.donau2space.de/Mika/policy_v1_1_evaluation.git
cd policy_v1_1_evaluation
```
2. Abhängigkeiten installieren:
```bash
pip install -r requirements.txt
```
### Nutzung
Beispielausführung zur Verarbeitung und Bewertung von Auditdaten:
```bash
python audit_data_processing.py --input audit.csv --output processed.json
python decision_engine.py --input processed.json --output decisions.json
python results_analysis.py --prev old_results.json --new decisions.json
```
---
## Typische Use-Cases
- Auswertung großer Audit-Datensätze zur Ermittlung von Perzentilverteilungen.
- Automatisierte Qualitätsbewertung von Runs basierend auf Policy-v1.1-Schwellenwerten.
- Vergleichsanalyse zwischen Policy-Versionen anhand von Ergebnisdeltas und Confusion-Matrizen.
---
## Struktur & Erweiterbarkeit
Die Struktur der Skripte ist modular aufgebaut. Jede Komponente (Verarbeitung, Entscheidung, Analyse) ist durch klar abgegrenzte Python-Module implementiert.
Erweiterungen können durch zusätzliche Bewertungsfunktionen oder alternative Analysemodule erfolgen.
API-Funktionssignaturen und Datenstrukturen sind dokumentiert und dienen als Erweiterungsgrundlage.
---
## Lizenz
Dieses Projekt steht unter der **MIT-Lizenz**.
Verwendung und Änderungen sind unter Wahrung der Lizenzbedingungen gestattet.
---
*Diese README.md wurde automatisch generiert.*