Debugging von Daten und Funktionen

Daten von niedriger Qualität beeinträchtigen die Leistung des Modells erheblich. Es ist viel einfacher, Daten von niedriger Qualität bei der Eingabe zu erkennen, anstatt zu raten, ob sie vorhanden sind, nachdem Ihr Modell schlecht vorhergesagt hat. Folgen Sie der Anleitung in diesem Abschnitt, um Ihre Daten zu überwachen.

Eingabedaten mit einem Datenschema validieren

Zum Überwachen Ihrer Daten sollten Sie sie regelmäßig auf erwartete statistische Werte prüfen. Dazu schreiben Sie Regeln, die die Daten erfüllen müssen. Diese Sammlung von Regeln wird als Datenschema bezeichnet. So definieren Sie ein Datenschema:

  1. Machen Sie sich bei den Merkmalsdaten mit dem Bereich und der Verteilung vertraut. Informieren Sie sich bei kategorischen Merkmalen über die möglichen Werte.
  2. Codieren Sie Ihr Verständnis in Regeln, die im Schema definiert sind. Beispiele für Regeln:

    • Achten Sie darauf, dass Nutzerbewertungen immer zwischen 1 und 5 liegen.
    • Achten Sie darauf, dass „der“ am häufigsten vorkommt (bei einer englischen Textfunktion).
    • Überprüfen Sie, ob kategoriale Merkmale Werte aus einem festen Satz haben.
  3. Daten mit dem Datenschema testen Das Schema sollte Datenfehler wie die folgenden erfassen:

    • Anomalien
    • unerwartete Werte kategorialer Variablen
    • unerwartete Datenverteilungen

Aufteilungen müssen von guter Qualität sein

Ihre Test- und Trainingsaufteilungen müssen Ihren Eingabedaten gleichermaßen entsprechen. Wenn sich die Test- und Trainingsaufteilungen statistisch unterscheiden, können die Trainingsdaten die Trainingsdaten nicht vorhersagen. Informationen zum Sampling und Aufteilen von Daten finden Sie im Abschnitt Stichproben und Aufteilen von Daten im Kurs zur Datenvorbereitung und Feature Engineering in ML.

Überwachen Sie die statistischen Eigenschaften Ihrer Aufteilungen. Wenn die Attribute voneinander abweichen, geben Sie ein Flag an. Außerdem sollten Sie testen, ob das Verhältnis der Beispiele in jedem Split konstant bleibt. Wenn Ihre Daten beispielsweise 80:20 aufgeteilt sind, sollte sich dieses Verhältnis nicht ändern.

Test Engineer Data

Ihre Rohdaten sind zwar gültig, aber Ihr Modell sieht nur Engineered Feature-Daten. Da sich die entwickelten Daten stark von den Eingaberohdaten unterscheiden, müssen Sie die entsprechenden Daten separat prüfen. Basierend auf Ihrem Verständnis Ihrer technischen Daten sollten Sie Unittests schreiben. Sie können beispielsweise Unittests schreiben, um die folgenden Bedingungen zu prüfen:

  • Alle numerischen Features werden skaliert, z. B. zwischen 0 und 1.
  • One-Hot-codierte Vektoren enthalten nur eine einzige 1- und eine N-1-Null.
  • Fehlende Daten werden durch mittlere oder Standardwerte ersetzt.
  • Die Datenverteilungen nach der Transformation entsprechen den Erwartungen. Wenn Sie sich z. B. mit Z-Scores normalisiert haben, ist der Mittelwert der Z-Scores 0.
  • Ausreißer werden verarbeitet, z. B. durch Skalierung oder Zuschneiden.