====== 07. Synthetic Data (Testdaten, Modelltraining) ====== ==== Überblick ==== *Synthetische Daten* sind künstlich erzeugte, aber realistisch wirkende Datensätze. Sie dienen dazu, reale Daten zu ersetzen oder zu ergänzen – besonders in Bereichen, in denen Datenschutz, Skalierbarkeit oder Trainingsdatenmangel eine Rolle spielen. Typische Einsatzbereiche: * **Testdaten für Software & Systeme** * **Training von KI- oder ML-Modellen** * **Simulation realistischer Szenarien (z. B. Kundendaten, Verkehr, Medizin)** * **Datenschutzfreundliche Alternativen zu echten Nutzerdaten** * **Edge Cases gezielt erzeugen** ---- ==== Aufbau eines Prompts zur Generierung synthetischer Daten ==== Ein strukturierter Prompt sollte enthalten: * **Ziel des Datensatzes** (z. B. Tests, Modelltraining, Demo) * **Struktur & Format** (CSV, JSON, SQL-Tabelle etc.) * **Anzahl der Datensätze** * **Felder & Regeln** (z. B. Name, Geburtsdatum, E-Mail, Wertebereich) * **Optional: Variationen, Ausreißer, Korrelationen** * **Datenschutzanforderungen** (z. B. keine echten Namen, keine Kombinationen, die rückverfolgbar sind) ---- ==== 🧪 Beispiel-Prompts für synthetische Daten ==== === 📋 Beispiel 1 – Kundendaten für Tests === **Prompt:** > Generiere einen CSV-Datensatz mit 100 fiktiven Kund:innen. Die Spalten sollen enthalten: Vorname, Nachname, E-Mail-Adresse, Land, Registrierungsdatum. Keine realen Namen oder Domains verwenden. Beispielausgabe: Vorname,Nachname,E-Mail,Land,Registriert_Am Lina,Schwarz,lina.s@demo.com,Deutschland,2023-02-14 Aron,Müller,aron.mu@demo.org,Österreich,2023-05-22 ... --- === 🏥 Beispiel 2 – Medizinische Trainingsdaten === **Prompt:** > Erstelle einen Datensatz mit 500 fiktiven Patient:innen für ein ML-Modell. Felder: Alter (18–90), Geschlecht, Blutdruck, Herzfrequenz, Raucherstatus (Ja/Nein), Diagnose (aus Liste). Format: JSON. Achte darauf, realistische Zusammenhänge (z. B. Rauchen → höherer Blutdruck) zu simulieren. Beispielausgabe: Alter,Geschlecht,Blutdruck,Herzfrequenz,Raucher,Diagnose 82,divers,110,73,Nein,Herzinsuffizienz 29,m,176,63,Ja,Herzinsuffizienz 72,divers,142,78,Ja,Diabetes Typ 2 56,m,125,75,Ja,Diabetes Typ 2 77,m,133,104,Nein,Herzinsuffizienz 35,divers,116,109,Ja,Diabetes Typ 2 25,w,123,80,Nein,Hypertonie 63,m,133,65,Ja,Diabetes Typ 2 59,m,148,93,Ja,Hypertonie ... --- === 💼 Beispiel 3 – Personaldaten für HR-Systeme === **Prompt:** > Generiere Testdaten für ein Bewerbermanagement-System. 50 Einträge im CSV-Format. Spalten: Name, Geburtsjahr, Ausbildungsgrad, Jahre Berufserfahrung, gewünschte Position, Gehaltsvorstellung (€/Jahr). Streue gezielt ein paar Extremwerte ein (z. B. unrealistisch hohes Gehalt). Beispielausgabe: Name,Geburtsjahr,Ausbildungsgrad,Berufserfahrung,Position,Gehaltsvorstellung Sophie Schmidt,1979,Abitur,1,Softwareentwickler:in,35000 Tom Wagner,1995,Abitur,9,Support,110000 Lea Koch,1980,Bachelor,30,Softwareentwickler:in,42000 Max Wagner,1996,Ausbildung,0,Projektmanager:in,35000 ... --- === 🔍 Beispiel 4 – Anomalie-Erkennung trainieren === **Prompt:** > Erstelle einen synthetischen Datensatz zur Schulung eines Modells zur Anomalie-Erkennung im Netzwerkverkehr. 1000 Zeilen mit IP-Adresse, Port, Bytes gesendet, Zeitstempel, Anomalie (True/False). Füge 5 % echte Ausreißer ein. Beispielausgabe: IP-Adresse,Port,Bytes_gesendet,Zeitstempel,Anomalie 169.47.121.101,80,16161,2024-03-01 04:50:02,True 157.166.223.168,8080,1988,2024-03-01 20:58:53,False 64.92.36.214,443,2784,2024-03-01 10:37:04,False 51.65.83.133,443,2038,2024-03-01 22:00:07,False 32.222.134.181,443,1241,2024-03-01 12:16:02,False 12.225.231.64,443,2815,2024-03-01 18:57:26,False 124.168.170.23,22,1728,2024-03-01 20:56:37,False 215.231.47.138,22,2329,2024-03-01 08:57:47,False 225.110.4.221,80,4947,2024-03-01 10:07:55,False 57.225.55.111,443,4994,2024-03-01 18:18:51,False 98.83.222.103,443,3520,2024-03-01 08:51:05,False ... --- === 📦 Beispiel 5 – E-Commerce-Transaktionen === **Prompt:** > Simuliere 200 Bestellungen aus einem Online-Shop mit folgenden Spalten: Bestellnummer, Artikelname, Kategorie, Stückzahl, Preis pro Stück, Gesamtsumme, Datum, Zahlungsmethode. Nutze realistische Preisbereiche (5–200 €), verschiedene Produktkategorien. Beispielausgabe: Bestellnummer,Artikel,Kategorie,Menge,Einzelpreis,Gesamtsumme,Datum,Zahlungsmethode ORD-1000,Wasserkocher,Elektronik,1,27.66,27.66,2023-08-06,Kreditkarte ORD-1001,Wasserkocher,Haushalt,5,69.54,347.7,2023-08-29,PayPal ORD-1002,Tischlampe,Büro,2,32.74,65.48,2023-12-10,Sofortüberweisung ORD-1003,T-Shirt,Elektronik,1,94.95,94.95,2023-12-11,Kreditkarte ORD-1004,Wanduhr,Büro,4,19.85,79.4,2023-10-14,Rechnung ORD-1005,Bluetooth-Kopfhörer,Bekleidung,4,82.13,328.52,2023-12-09,PayPal ORD-1006,Kaffeemaschine,Elektronik,4,194.15,776.6,2023-01-13,Kreditkarte ORD-1007,Tischlampe,Büro,4,102.76,411.04,2023-08-04,PayPal ORD-1008,Gaming-Maus,Haushalt,1,23.86,23.86,2023-04-20,Sofortüberweisung ... ---- ==== Tipps für synthetische Daten-Prompts ==== * Definiere klare **Regeln und Bereiche** (z. B. Alter 18–90, feste Länderliste etc.) * Gib **Datenformate explizit an** (z. B. „ISO-Datum“, „CSV mit UTF-8“) * Für Modelltraining: Erwähne, ob **Korrelationen** gewünscht sind * Baue gezielt **Edge Cases / Ausreißer / Lücken** ein (für Testrobustheit) * Gib einen **Verwendungszweck** an – Test, Training, Visualisierung, Validierung ---- ==== Tool-Hinweise: KI-Tools für synthetische Daten ==== === 🧰 Übersicht empfehlenswerter Tools === * **MOSTLY AI** - KI-generierte synthetische Daten mit realistischer Verteilung - Unterstützt Tabellen, Relationen, Szenarien - Ideal für Datenschutz & Modelltraining * **Gretel.ai** - API-basierte Plattform zur Erstellung & Prüfung synthetischer Daten - Gute Dokumentation, auch für DevOps einsetzbar - Unterstützt JSON, CSV, relational * **Synthea** - Open-Source-Tool zur Simulation realistischer Gesundheitsdaten - Ideal für Forschung, MedTech, eHealth - Konfigurierbare Szenarien (Krankheiten, Behandlungen etc.) * **DataGen** - Fokus auf visuelle & sensorgestützte 3D-Daten (z. B. für Robotik, Fahrzeuge) - Simulation für KI-Modelle im Bereich Computer Vision * **YData** - Generiert qualitativ hochwertige strukturierte Daten für ML-Training - Mit Fokus auf Fairness, Qualität und Augmentation - Kombinierbar mit Data-Centric-AI-Workflows * **Faker (Python-Bibliothek)** - Erzeugt schnell zufällige Testdaten (Namen, Adressen, IBAN etc.) - Ideal für Entwickler:innen, lokal ausführbar - Leicht integrierbar in Pipelines oder Tests