Verbessern Sie die Modellgenauigkeit durch Datenvorverarbeitung
Die Datenvorbereitung kann die Vorhersagefähigkeit Ihres Modells beeinflussen oder beeinträchtigen.
In Kapitel 3 ihres Buches Applied Predictive Modeling stellen Kuhn und Johnson den Prozess der Datenvorbereitung vor. Sie bezeichnen es als das Hinzufügen, Löschen oder Umwandeln von Trainingssatzdaten.
In diesem Beitrag erfahren Sie, welche Datenvorverarbeitungsschritte Sie verwenden können, um die Vorhersagefähigkeit Ihrer Modelle zu verbessern.
Starten Sie Ihr Projekt mit meinem neuen Buch „Data Prepared for Machine Learning“, einschließlich Schritt-für-Schritt-Anleitungen und den Python-Quellcode-Dateien für alle Beispiele.
Fangen wir an.
Datenvorbereitung
Sie müssen Ihre Rohdaten vorverarbeiten, bevor Sie Ihr Problem modellieren. Die konkrete Vorbereitung kann von den Daten abhängen, die Ihnen zur Verfügung stehen, und von den Algorithmen für maschinelles Lernen, die Sie verwenden möchten.
Manchmal kann die Vorverarbeitung von Daten zu unerwarteten Verbesserungen der Modellgenauigkeit führen. Dies kann daran liegen, dass eine Beziehung in den Daten vereinfacht oder klarer dargestellt wurde.
Die Datenvorbereitung ist ein wichtiger Schritt und Sie sollten mit Datenvorverarbeitungsschritten experimentieren, die für Ihre Daten geeignet sind, um zu sehen, ob Sie die gewünschte Steigerung der Modellgenauigkeit erzielen können.
Es gibt drei Arten der Vorverarbeitung, die Sie für Ihre Daten in Betracht ziehen können:
- Fügen Sie Ihren Daten Attribute hinzu
- Entfernen Sie Attribute aus Ihren Daten
- Transformieren Sie Attribute in Ihren Daten
Wir werden uns mit jeder dieser drei Arten von Vorprozessen befassen und einige spezifische Beispiele für Vorgänge betrachten, die Sie ausführen können.
Datenattribute hinzufügen
Fortgeschrittene Modelle können die Beziehungen aus komplexen Attributen extrahieren, obwohl einige Modelle erfordern, dass diese Beziehungen klar dargelegt werden. Durch die Ableitung neuer Attribute aus Ihren Trainingsdaten zur Einbeziehung in den Modellierungsprozess können Sie die Modellleistung steigern.
- Dummy-Attribute: Kategoriale Attribute können in n-binäre Attribute umgewandelt werden, wobei n die Anzahl der Kategorien (oder Ebenen) ist, die das Attribut hat. Diese denormalisierten oder zerlegten Attribute werden als Dummy-Attribute oder Dummy-Variablen bezeichnet.
- Transformiertes Attribut: Eine transformierte Variation eines Attributs kann dem Datensatz hinzugefügt werden, um einer linearen Methode die Nutzung möglicher linearer und nichtlinearer Beziehungen zwischen Attributen zu ermöglichen. Es können einfache Transformationen wie Logarithmus, Quadrat und Quadratwurzel verwendet werden.
- Fehlende Daten: Bei Attributen mit fehlenden Daten können diese fehlenden Daten mithilfe einer zuverlässigen Methode, z. B. k-nächsten Nachbarn, unterstellt werden.
Datenattribute entfernen
Einige Methoden weisen bei redundanten oder doppelten Attributen eine schlechte Leistung auf. Sie können die Modellgenauigkeit steigern, indem Sie Attribute aus Ihren Daten entfernen.
- Projektion: Trainingsdaten können in niedrigerdimensionale Räume projiziert werden, charakterisieren aber dennoch die inhärenten Beziehungen in den Daten. Ein beliebter Ansatz ist die Hauptkomponentenanalyse (PCA), bei der die von der Methode gefundenen Hauptkomponenten als reduzierter Satz von Eingabeattributen verwendet werden können.
- Räumliches Zeichen: Eine räumliche Zeichenprojektion der Daten transformiert die Daten auf die Oberfläche einer mehrdimensionalen Kugel. Die Ergebnisse können verwendet werden, um das Vorhandensein von Ausreißern hervorzuheben, die geändert oder aus den Daten entfernt werden können.
- Korrelierte Attribute: Einige Algorithmen verlieren an Bedeutung, wenn stark korrelierte Attribute vorhanden sind. Paarweise Attribute mit hoher Korrelation können identifiziert und die am stärksten korrelierten Attribute aus den Daten entfernt werden.
Datenattribute transformieren
Transformationen von Trainingsdaten können die Schiefe der Daten sowie die Hervorhebung von Ausreißern in den Daten verringern. Viele Modelle erwarten, dass Daten transformiert werden, bevor Sie den Algorithmus anwenden können.
- Zentrierung: Transformieren Sie die Daten so, dass sie einen Mittelwert von Null und eine Standardabweichung von Eins haben. Dies wird üblicherweise als Datenstandardisierung bezeichnet.
- Skalierung: Eine standardmäßige Skalierungstransformation besteht darin, die Daten von der ursprünglichen Skala auf eine Skala zwischen Null und Eins abzubilden. Dies wird üblicherweise als Datennormalisierung bezeichnet.
- Verzerrung entfernen: Verzerrte Daten sind Daten, deren Verteilung auf die eine oder andere Seite verschoben ist (größere oder kleinere Werte) und nicht normalverteilt ist. Einige Methoden gehen von normalverteilten Daten aus und können eine bessere Leistung erbringen, wenn der Versatz entfernt wird. Versuchen Sie, das Attribut durch den Logarithmus, die Quadratwurzel oder den Kehrwert der Werte zu ersetzen.
- Box-Cox: Eine Box-Cox-Transformation oder eine Familie von Transformationen kann verwendet werden, um Daten zuverlässig anzupassen, um Verzerrungen zu beseitigen.
- Binning: Numerische Daten können diskretisiert werden, indem Werte in Bins gruppiert werden. Dies wird üblicherweise als Datendiskretisierung bezeichnet. Dieser Prozess kann manuell durchgeführt werden, ist jedoch zuverlässiger, wenn er systematisch und automatisch mithilfe einer Heuristik durchgeführt wird, die in der Domäne sinnvoll ist.
Zusammenfassung
Die Datenvorverarbeitung ist ein wichtiger Schritt, der erforderlich sein kann, um Rohdaten für die Modellierung vorzubereiten, die Erwartungen an die Daten für einen bestimmten Algorithmus für maschinelles Lernen zu erfüllen und die Modellgenauigkeit unerwartet zu steigern.
In diesem Beitrag haben wir drei Gruppen von Datenvorverarbeitungsmethoden entdeckt:
- Attribute hinzufügen
- Attribute entfernen
- Attribute transformieren
Wenn Sie das nächste Mal nach einer Steigerung der Modellgenauigkeit suchen, überlegen Sie, welche neuen Perspektiven Sie für Ihre Daten entwickeln können, damit Ihre Modelle sie erkunden und nutzen können.