109 lines
No EOL
3.6 KiB
Markdown
109 lines
No EOL
3.6 KiB
Markdown
# Dataset Creation and Analysis
|
|
|
|
## Überblick
|
|
Dieses Projekt mit dem experiment_key **dataset_creation_and_analysis** beschreibt ein Experiment zur Erstellung und Analyse eines Datasets aus CI-Artefakten zur Überwachung von Policy-Entscheidungen und Drift-Signalen.
|
|
|
|
[Artikel-Link](https://donau2space.de/tag-135-aus-live-artefakten-ein-dataset-gebaut-n10-vs-n20-flappy-zaehler-inklusive/)
|
|
|
|
[Git-Repository](https://git.donau2space.de/Mika/dataset_creation_and_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
|
|
Enthalten sind mehrere Python-Skripte, die Daten aus CI-Artefakten extrahieren, analysieren und als Dataset exportieren.
|
|
|
|
### Artefakte
|
|
|
|
#### 1. drift_report_parser
|
|
- **Art:** python_script
|
|
- **Ziel:** mixed
|
|
- **Sprachen:** Python
|
|
- **Zweck:** Analysiert Drift-Berichte und extrahiert relevante Felder aus JSON-Daten.
|
|
|
|
**API-Funktionen:**
|
|
- `parse_drift_report(file_path)` → parsed_data (Liste von Dictionaries)
|
|
- Liest eine Drift-Report-Datei ein und gibt strukturierte Daten zurück.
|
|
|
|
**Datenstruktur:** `DriftReportData`
|
|
- Felder: timestamp, pinned, unpinned, decision, rolling_warn_rate, counts, label, comment
|
|
|
|
#### 2. dataset_exporter
|
|
- **Art:** python_script
|
|
- **Ziel:** mixed
|
|
- **Sprachen:** Python
|
|
- **Zweck:** Exportiert die analysierten Daten im JSONL- oder CSV-Format.
|
|
|
|
**API-Funktionen:**
|
|
- `export_dataset(dataset, output_format, output_path)` → None
|
|
- Speichert ein Dataset im gewünschten Ausgabeformat.
|
|
|
|
**Datenstruktur:** `ExportOptions`
|
|
- Felder: output_format, output_path
|
|
|
|
#### 3. rerun_evaluator
|
|
- **Art:** python_script
|
|
- **Ziel:** mixed
|
|
- **Sprachen:** Python
|
|
- **Zweck:** Bewertet die Notwendigkeit von Reruns auf Basis vorheriger Laufdaten.
|
|
|
|
**API-Funktionen:**
|
|
- `evaluate_rerun_needs(runs_data)` → rerun_evaluation (Dictionary)
|
|
- Analysiert Laufhistorien und bestimmt, ob erneute Ausführungen sinnvoll sind.
|
|
|
|
**Datenstruktur:** `RunData`
|
|
- Felder: run_id, label_triggered, flappy, pinned, unknown_rate
|
|
|
|
## Installation & Nutzung
|
|
### Voraussetzungen
|
|
- Python 3.8 oder höher
|
|
- Abhängigkeiten gemäß `requirements.txt` (sofern vorhanden)
|
|
|
|
### Installation
|
|
1. Repository klonen:
|
|
```
|
|
git clone https://git.donau2space.de/Mika/dataset_creation_and_analysis
|
|
cd dataset_creation_and_analysis
|
|
```
|
|
2. Optionale virtuelle Umgebung erstellen und aktivieren.
|
|
3. Abhängigkeiten installieren:
|
|
```
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
### Nutzung
|
|
Die Skripte können einzeln ausgeführt oder in eigenen Python-Pipelines importiert werden.
|
|
|
|
Beispiele:
|
|
- Drift-Report parsen:
|
|
```
|
|
python drift_report_parser.py path/to/report.json
|
|
```
|
|
- Dataset exportieren:
|
|
```
|
|
python dataset_exporter.py dataset.jsonl csv output.csv
|
|
```
|
|
- Rerun-Bewertung durchführen:
|
|
```
|
|
python rerun_evaluator.py previous_runs.json
|
|
```
|
|
|
|
## Typische Use-Cases
|
|
- Analyse von Drift-Berichten aus CI/CD-Systemen
|
|
- Erstellung strukturierter Datasets für Machine-Learning-Auswertungen
|
|
- Bewertung und Reduktion unnötiger Reruns
|
|
- Vorbereitung von Experiment-Datenexporten
|
|
|
|
## Struktur & mögliche Erweiterungen
|
|
- **Erweiterbar** um zusätzliche Parser für andere Artefakt-Typen
|
|
- **Kombinierbar** mit Dashboard- oder Reporting-Komponenten
|
|
- **Integration möglich** in bestehende CI/CD-Überwachungsframeworks
|
|
|
|
## Lizenz
|
|
Dieses Projekt steht unter der **MIT-Lizenz**.
|
|
|
|
---
|
|
|
|
*Hinweis:* Diese README-Datei und alle zugehörigen Inhalte wurden automatisiert per KI generiert. Nutzung auf eigene Verantwortung. |