Datenvorverarbeitung im Data Mining: Schritte, Imputation fehlender Werte, Datenstandardisierung

Veröffentlicht: 2020-12-30

Der zeitaufwändigste Teil der Arbeit eines Data Scientists ist die Aufbereitung und Vorverarbeitung der vorliegenden Daten. Die Daten, die wir in realen Szenarien erhalten, sind nicht sauber und für die Modellierung geeignet. Die Daten müssen bereinigt, in ein bestimmtes Format gebracht und transformiert werden, bevor sie in die Modelle des maschinellen Lernens eingespeist werden.

Am Ende dieses Tutorials werden Sie Folgendes wissen

  • Warum Datenvorverarbeitung
  • Datenreinigung
  • Fehlende Wertimputation
  • Datenstandardisierung
  • Diskretisierung

Inhaltsverzeichnis

Warum Datenvorverarbeitung?

Wenn Daten durch das Verschrotten von Websites abgerufen und aus anderen Datenquellen gesammelt werden, sind sie im Allgemeinen voller Diskrepanzen. Dies können Formatierungsprobleme, fehlende Werte, fehlerhafte Werte und Text und sogar Fehler in den Daten sein. Es müssen mehrere Vorverarbeitungsschritte durchgeführt werden, um sicherzustellen, dass die Daten, die dem Modell zugeführt werden, der Marke entsprechen, damit das Modell daraus lernen und verallgemeinern kann.

Datenreinigung

Der erste und wichtigste Schritt besteht darin, die Unregelmäßigkeiten in den Daten zu bereinigen. Ohne diesen Schritt können wir aus der Statistik der Daten nicht viel Sinn machen. Dies können Formatierungsprobleme, Garbage-Werte und Ausreißer sein.

Formatierungsprobleme

Wir benötigen die Daten meistens in einem tabellarischen Format, aber das ist nicht der Fall. Die Daten haben möglicherweise fehlende oder falsche Spaltennamen oder leere Spalten. Darüber hinaus ist es beim Umgang mit unstrukturierten Daten wie Bildern und Text äußerst wichtig, die 2D- oder 3D-Daten zur Modellierung in Dataframes zu laden.

Müllwerte

Bei vielen Instanzen oder vollständigen Spalten werden möglicherweise bestimmte Garbage-Werte an den tatsächlich erforderlichen Wert angehängt. Stellen Sie sich zum Beispiel eine Spalte „Rang“ vor, die folgende Werte enthält: „#1“, „#3“, „#12“, „#2“ usw. Jetzt ist es wichtig, alle vorangehenden „#“ zu entfernen. Zeichen, um den numerischen Wert in das Modell einspeisen zu können.

Ausreißer

Häufig sind bestimmte numerische Werte entweder zu groß oder zu niedrig als der Durchschnittswert der jeweiligen Spalte. Diese gelten als Ausreißer. Ausreißer bedürfen einer besonderen Behandlung und sind ein sensibler zu behandelnder Faktor. Diese Ausreißer können Messfehler oder auch reale Werte sein. Sie müssen entweder vollständig entfernt oder separat behandelt werden, da sie viele wichtige Informationen enthalten können.

Fehlende Werte

Es ist selten der Fall, dass Ihre Daten alle Werte für jede Instanz enthalten. Viele Werte fehlen oder sind mit Garbage-Einträgen gefüllt. Diese fehlenden Werte müssen behandelt werden. Diese Werte können aus mehreren Gründen fehlen. Sie können aus irgendeinem Grund wie Sensorfehler oder anderen Faktoren fehlen, oder sie können auch ganz zufällig fehlen.

Lesen Sie: Data-Mining-Projekte in Indien

Fallenlassen

Der direkteste und einfachste Weg besteht darin, die Zeilen zu löschen, in denen Werte fehlen. Dies hat viele Nachteile wie den Verlust wichtiger Informationen. Es kann ein guter Schritt sein, die fehlenden Werte zu löschen, wenn die Datenmenge, die Sie haben, riesig ist. Wenn jedoch weniger Daten vorhanden sind und viele fehlende Werte vorhanden sind, benötigen Sie bessere Möglichkeiten, um dieses Problem anzugehen.

Imputation von Mittelwert/Median/Modus

Der schnellste Weg, fehlende Werte zu imputieren, besteht darin, einfach den Mittelwert der Spalte zu imputieren. Es hat jedoch Nachteile, da es die ursprüngliche Verteilung der Daten stört. Sie können auch den Medianwert oder den Moduswert imputieren, der im Allgemeinen besser ist als der einfache Mittelwert.

Lineare Interpolation & KNN

Es können auch intelligentere Methoden verwendet werden, um fehlende Werte zu imputieren. 2 davon sind lineare Interpolationen, die mehrere Modelle verwenden, indem die Spalte mit leeren Werten als das vorherzusagende Merkmal behandelt wird. Eine andere Möglichkeit besteht darin, Clustering von KNN zu verwenden. KNN erstellt Cluster der Werte in einem bestimmten Feature und weist dann den Wert zu, der dem Cluster am nächsten liegt.

Datenstandardisierung

In einem Datensatz mit mehreren numerischen Merkmalen weisen möglicherweise nicht alle Merkmale denselben Maßstab auf. Beispielsweise hat ein Merkmal „Entfernung“ Entfernungen in Metern wie 1300, 800, 560 usw. Und ein anderes Merkmal „Zeit“ hat Zeiten in Stunden wie 1, 2,5, 3,2, 0,8 usw. Also, wenn diese beiden Merkmale in das Modell eingespeist werden, betrachtet es das Merkmal mit Entfernungen als stärker gewichtet, da seine Werte groß sind. Um dieses Szenario zu vermeiden und eine schnellere Konvergenz zu erreichen, ist es notwendig, alle Features auf die gleiche Skala zu bringen.

Normalisierung

Eine übliche Methode zum Skalieren der Features besteht darin, sie zu normalisieren. Es kann mit dem Normalizer von Scikit-learn implementiert werden. Es funktioniert nicht in den Spalten, sondern in den Zeilen. Die L2-Normalisierung wird auf jede Beobachtung angewendet, sodass die Werte in einer Reihe nach der Skalierung eine Einheitsnorm haben.

Min-Max-Skalierung

Die Min-Max-Skalierung kann mit der Min-MaxScaler-Klasse von Scikit-learn implementiert werden. Es subtrahiert den Mindestwert der Merkmale und dividiert dann durch den Bereich, wobei der Bereich die Differenz zwischen dem ursprünglichen Maximum und dem ursprünglichen Minimum ist. Es behält die Form der ursprünglichen Verteilung bei, mit einem Standardbereich von 0-1.

Standard-Skalierung

Standard Scaler kann auch mit der Klasse von Scikit-learn implementiert werden. Es standardisiert ein Merkmal, indem es den Mittelwert subtrahiert und dann auf Einheitsvarianz skaliert, wobei Einheitsvarianz das Teilen aller Werte durch die Standardabweichung bedeutet. Es macht den Mittelwert der Verteilung zu 0 und die Standardabweichung zu 1.

Diskretisierung

Oft liegen Daten nicht in numerischer Form statt in kategorialer Form vor. Betrachten Sie beispielsweise ein Merkmal „Temperatur“ mit Werten wie „Hoch“, „Niedrig“, „Mittel“. Diese Textwerte müssen in numerischer Form kodiert werden, damit das Modell trainieren kann.

Kategoriale Daten

Kategoriale Daten sind etikettenkodiert, um sie in numerische Form zu bringen. So können „Hoch“, „Mittel“ und „Niedrig“ mit 3, 2 und 1 gekennzeichnet werden. Kategoriale Merkmale können entweder nominal oder ordinal sein. Ordinale kategoriale Merkmale sind solche, die eine bestimmte Ordnung haben. Zum Beispiel können wir im obigen Fall sagen, dass 3 > 2 > 1, da die Temperaturen gemessen/quantifiziert werden können.

In einem Beispiel jedoch, in dem ein Merkmal von „Stadt“, das Werte wie „Delhi“, „Jammu“ und „Agra“ hat, nicht gemessen werden kann. Mit anderen Worten, wenn wir sie als 3, 2, 1 codieren, können wir nicht sagen, dass 3 > 2 > 1, weil „Delhi“ > „Jammu“ nicht viel Sinn ergibt. In solchen Fällen verwenden wir One Hot Encoding.

Kontinuierliche Daten

Merkmale mit kontinuierlichen Werten können auch diskretisiert werden, indem die Werte in Klassen bestimmter Bereiche eingeteilt werden. Klassierung bedeutet das Konvertieren eines numerischen oder kontinuierlichen Merkmals in einen diskreten Satz von Werten, basierend auf den Bereichen der kontinuierlichen Werte. Dies ist praktisch, wenn Sie die Trends basierend auf dem Bereich sehen möchten, in den der Datenpunkt fällt.

Angenommen, wir haben Noten für 7 Kinder im Bereich von 0 bis 100. Jetzt können wir die Noten jedes Kindes einem bestimmten „Mülleimer“ zuweisen. Jetzt können wir in 3 Bins mit den Bereichen 0 bis 50, 51-70 und 71-100 unterteilen, die jeweils zu den Bins 1, 2 und 3 gehören. Daher enthält das Feature jetzt nur noch einen dieser 3 Werte. Pandas bietet 2 Funktionen, um schnell Binning zu erreichen: qcut und cut.

Pandas qcut nimmt die Anzahl der Quantile auf und teilt die Datenpunkte basierend auf der Datenverteilung auf jeden Bin auf.

Pandas Cut hingegen übernimmt die von uns definierten benutzerdefinierten Bereiche und teilt die Datenpunkte in diesen Bereichen auf.

Lesen Sie weiter: Datenvorverarbeitung beim maschinellen Lernen

Lernen Sie Datenwissenschaftskurse von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Fazit

Die Datenvorverarbeitung ist ein wesentlicher Schritt bei jeder Data-Mining- und Machine-Learning-Aufgabe. Alle Schritte, die wir besprochen haben, sind sicherlich nicht alle, decken aber den größten Teil des grundlegenden Teils des Prozesses ab. Die Datenvorverarbeitungstechniken unterscheiden sich auch für NLP- und Bilddaten. Stellen Sie sicher, dass Sie Beispiele für die oben genannten Schritte ausprobieren und in Ihrer Data Mining-Pipeline implementieren.

Wenn Sie neugierig sind, mehr über Data Science zu erfahren, schauen Sie sich das PG Diploma in Data Science von IIIT-B & upGrad an, das für Berufstätige entwickelt wurde und mehr als 10 Fallstudien und Projekte, praktische Workshops, Mentoring mit Branchenexperten, 1- on-1 mit Mentoren aus der Branche, mehr als 400 Stunden Lern- und Jobunterstützung bei Top-Unternehmen.

Was ist Datenvorverarbeitung und welche Bedeutung hat sie?

Dies ist eine Technik, um die unstrukturierten Rohdaten in Form von Bildern, Texten und Videos bereitzustellen. Diese Daten werden zunächst vorverarbeitet, um Inkonsistenzen, Fehler und Redundanzen zu entfernen, damit sie später analysiert werden können.

Die Rohdaten werden in relevante Daten umgewandelt, die von den Maschinen verstanden werden können. Die Vorverarbeitung der Daten ist ein wichtiger Schritt, um die Daten für die Modellierung umzuwandeln. Ohne Verarbeitung ist es praktisch nutzlos.

Welche Schritte umfasst die Datenvorverarbeitung?

Die Datenvorverarbeitung umfasst verschiedene Schritte, um den gesamten Prozess abzuschließen. Die Daten werden zuerst bereinigt, um Rauschen zu entfernen und die fehlenden Werte zu füllen. Danach werden die Daten aus mehreren Quellen integriert, um sie zu einem einzigen Datensatz zu kombinieren. Diesen Schritten folgen dann Transformation, Reduktion und Diskretisierung.

Die Transformation der Rohdaten beinhaltet die Normalisierung der Daten. Reduktion und Diskretisierung befassen sich im Wesentlichen mit der Reduzierung der Attribute und Dimensionen der Daten. Anschließend wird dieser große Datensatz komprimiert.

Was ist der Unterschied zwischen univariaten und multivariaten Verfahren?

Die univariate Methode ist die einfachste Methode, um einen Ausreißer zu behandeln. Es gibt keinen Überblick über eine Beziehung, da es sich um eine einzelne Variable handelt und ihr Hauptzweck darin besteht, die Daten zu analysieren und das damit verbundene Muster zu bestimmen. Mittelwert, Median und Modus sind Beispiele für Muster, die in den univariaten Daten gefunden werden.

Andererseits dient die multivariate Methode der Analyse von drei oder mehr Variablen. Sie ist genauer als die frühere Methode, da die multivariate Methode im Gegensatz zur univariaten Methode Beziehungen und Muster behandelt. Additiver Baum, kanonische Korrelationsanalyse und Clusteranalyse sind einige der Möglichkeiten, multivariate Analysen durchzuführen.