Qualitätsgesicherte Machine-Learning-Workflows mit PyDeequ

MLOps-Werkzeuge und -Frameworks, die Auskunft über die Qualität von Trainingsdaten für Machine Learning geben, sind wichtig. Wir zeigen, was PyDeequ kann.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
Lesezeit: 7 Min.
Von
  • Ramon Wartala
Inhaltsverzeichnis

Datenwissenschaftler und Softwareentwickler greifen heutzutage häufig in denselben Werkzeugkasten. Beim Erstellen von Machine-Learnig-Modellen sind hochwertige Trainings- und Evaluationsdaten wichtig. So wie Entwickler Codeabschnitte mit Unit-Tests prüfen, unterziehen auch Data Scientists ihre Daten einer Qualitätssicherung.

Mehr zum Thema Machine Learning

Am Anfang des Modelltrainings steht die Auswahl geeigneter Daten. Dann kommt eine Datenexploration, um sich einen Überblick über die Datenmenge und -qualität zu verschaffen. Dabei zeigen Werkzeuge, wie die Ausprägungen von Merkmalen verteilt sind, ob und wie viele Ausreißer es gibt und wie die Wertebereiche aussehen. Für kleinere Datenmengen genügt ein Toolset aus Python und pandas oder ein geeignetes Datenexplorationsmodul wie Pandas Profiling, Sweetviz oder D-Tale. In diese Kategorie fällt auch DuckDQ, das weder vor pandas-DataFrames noch vor CSV- und Parque-Dateien oder Datenbanktabellen haltmacht. Allerdings reicht der Hauptspeicher beim statistischen Auswerten sehr großer Datenbestände in der Regel nicht aus.

In diesem Fall kann man zu verteilten Datenhaltungs- und Analysesystemen wie Apache Spark oder Apache Beam greifen. Innerhalb des TensorFlow-Toolstacks erledigt dies zum Beispiel TensorFlow Data Validation (TFDV). Apache Griffin bietet eine Java-basierte Integration in den Hadoop-/Spark-Toolstack. Mit der in Scala geschriebenen Spark-Bibliothek Deequ lassen sich Datenqualitätstests definieren. Für Data Engineers und Data Scientists mit einem Faible für Python bietet PyDeequ eine vertraute Schnittstelle.