Normalisierung von Daten in Python

Normalisierung von Daten in Python

Die Normalisierung von Daten ist eine Technik, mit der das Ergebnis schneller erzielt wird, da die Maschine einen kleineren Datenbereich verarbeiten muss. Die Normalisierung ist keine leichte Aufgabe, da alle Ihre Ergebnisse von der Auswahl Ihrer Normalize -Methode abhängen. Wenn Sie also die falsche Methode zur Normalisierung Ihrer Daten ausgewählt haben, erhalten Sie möglicherweise etwas anderes als Ihre Erwartungen.

Die Normalisierung hängt auch vom Datentyp wie Bildern, Text, numerisch usw. ab. Jeder Datentyp hat also eine andere Methode zur Normalisierung. In diesem Artikel konzentrieren wir uns also auf numerische Daten.

Methode 1: Verwendung von Sklearn

Die sklearn -Methode ist eine sehr berühmte Methode, um die Daten zu normalisieren.

aus sklearn Import -Vorverarbeitung
Numph als NP importieren
Numpy_array = np.Array ([2, 3, 5, 6, 7, 4, 8, 7, 6, 17, 18, 19, 2, 1, 89])
Normalized_array = Vorverarbeitung.Normalisieren ([Numpy_array])
print (Normalized_array)

Ergebnis:

Wir importieren alle erforderlichen Bibliotheken, Numpy und Sklearn. Sie können sehen, dass wir die Vorverarbeitung aus dem Sklearn selbst importieren. Deshalb ist dies die Sklearn -Normalisierungsmethode.

Wir haben ein Numpy -Array mit einem ganzzahligen Wert erstellt, der nicht gleich ist.

Wir haben die Normalize -Methode aus der Vorverarbeitung angerufen und das Numpy_array bestanden, das wir gerade als Parameter erstellt haben.

Wir können aus den Ergebnissen erkennen, dass unsere All Integer -Daten jetzt zwischen 0 und 1 normalisiert sind.

Methode 2: Normalisieren Sie eine bestimmte Spalte in einem Datensatz mit Sklearn

Wir können auch die bestimmte Datensatzspalte normalisieren. Darin werden wir darüber diskutieren.

Pandas als PD importieren
aus sklearn Import -Vorverarbeitung
Numph als NP importieren
CSVFILE = PD.Read_csv ("Demo.CSV ")
drucken (csvfile)
value_array = np.Array (csvFile ['Wert'])
print (value_array)
Normalized_array = Vorverarbeitung.Normalisieren ([value_array])
print (Normalized_array)

Ergebnis:

Wir importieren die Bibliothek Pandas und Sklearn.

Wir haben eine Dummy -CSV -Datei erstellt und laden jetzt diese CSV -Datei mit Hilfe des Pandas (Read_CSV) -Pakets.

Wir drucken diese CSV -Datei, die wir kürzlich geladen haben.

Wir lesen die bestimmte Spalte der CSV -Datei mit dem NP. Array und speichern Sie das Ergebnis auf Value_array.

Wir haben die Normalize -Methode aus der Vorverarbeitung bezeichnet und den Parameter value_array übergeben.

Methode 3: Konvertieren Sie, um zu normalisieren, ohne die Spalten in ein Array zu verwenden (mit sklearn)

In der vorherigen Methode 2 haben wir diskutiert, wie eine bestimmte Spalte CSV -Datei wir uns normalisieren konnten. Aber manchmal müssen wir den gesamten Datensatz normalisieren, dann können wir die folgende Methode verwenden, bei der wir den gesamten Datensatz, aber entlang der Spalte (Axis = 0), normalisieren, dass wir den gesamten Datensatz normalisieren (Axis = 0). Wenn wir die Achse = 1 erwähnen, normalisieren Sie sich zeilenweise. Die Achse = 1 ist standardmäßig Wert.

Pandas als PD importieren
aus sklearn Import -Vorverarbeitung
CSVFILE = PD.Read_csv ("Demo_Numeric.CSV ")
drucken (csvfile)
# Normalisieren Sie die Daten entlang des Kolumnens (Axis = 0)
Ergebnis = Vorverarbeitung.Normalisieren (csvfile, axis = 0)
Druck (Ergebnis)

Ergebnis:

Wir importieren die Bibliothek Pandas und Sklearn.

Wir haben eine Dummy -CSV -Datei erstellt (Demo_Numeric.CSV), und wir laden jetzt diese CSV -Datei mit Hilfe des Pandas (Read_CSV) -Pakets.

Wir drucken diese CSV -Datei, die wir kürzlich geladen haben.

Jetzt übergeben wir die gesamte CSV.

Wir drucken das Ergebnis und normalisieren Daten mit einem Wert zwischen 0 und 1.

Methode 4: Verwenden von MinmaxScaler ()

Der Sklearn bietet auch eine weitere Normalisierungsmethode, die wir es Minmaxscalar nannten. Dies ist auch eine sehr beliebte Methode, da sie einfach zu bedienen ist.

Pandas als PD importieren
aus sklearn Import -Vorverarbeitung
CSVFILE = PD.Read_csv ("Demo_Numeric.CSV ")
drucken (csvfile)
min_max_scalar = preprozessing.Minmaxscaler ()
col = csvfile.Säulen
result = min_max_scalar.FIT_TRANSFORM (CSVFILE)
min_max_scalar_df = pd.DataFrame (Ergebnis, Spalten = col)
print (min_max_scalar_df)

Ergebnis:

Wir importieren alle erforderlichen Pakete.

Wir haben eine Dummy -CSV -Datei erstellt (Demo_Numeric.CSV), und wir laden jetzt diese CSV -Datei mit Hilfe des Pandas (Read_CSV) -Pakets.

Wir drucken diese CSV -Datei, die wir kürzlich geladen haben.

Wir haben Minmaxscalar aus der Vorverarbeitungsmethode bezeichnet und ein Objekt (min_max_scalar) dafür erstellt. Wir haben keine Parameter übergeben, da wir die Daten zwischen 0 und 1 normalisieren müssen. Wenn Sie jedoch möchten, können Sie Ihre Werte hinzufügen, die in der nächsten Methode angezeigt werden.

Wir haben zuerst alle Namen der Spalten gelesen, um die Ergebnisse weiter anzuzeigen. Dann nennen wir die fit_tranform aus dem erstellten Objekt min_max_scalar und übergeben die CSV -Datei in diese.

Wir erhalten die normalisierten Ergebnisse, die zwischen 0 und 1 liegen.

Methode 5: Verwenden von MinmaxScaler (feature_range = (x, y))

Der sklearn bietet auch die Möglichkeit, den normalisierten Wert Ihres Wunschwerts zu ändern. Standardmäßig normalisieren sie den Wert zwischen 0 und 1. Es gibt jedoch einen Parameter, den wir Feature_Range bezeichnet haben, der den normalisierten Wert gemäß unseren Anforderungen festlegen kann.

Pandas als PD importieren
aus sklearn Import -Vorverarbeitung
CSVFILE = PD.Read_csv ("Demo_Numeric.CSV ")
drucken (csvfile)
min_max_scalar = preprozessing.Minmaxscaler (feature_range = (0, 2))
col = csvfile.Säulen
result = min_max_scalar.FIT_TRANSFORM (CSVFILE)
min_max_scalar_df = pd.DataFrame (Ergebnis, Spalten = col)
print (min_max_scalar_df)

Ergebnis:

Wir importieren alle erforderlichen Pakete.

Wir haben eine Dummy -CSV -Datei erstellt (Demo_Numeric.CSV), und wir laden jetzt diese CSV -Datei mit Hilfe des Pandas (Read_CSV) -Pakets.

Wir drucken diese CSV -Datei, die wir kürzlich geladen haben.

Wir haben Minmaxscalar aus der Vorverarbeitungsmethode bezeichnet und ein Objekt (min_max_scalar) dafür erstellt. Wir übergeben aber auch einen anderen Parameter innerhalb des MinmaxScaler (feature_range). Dieser Parameterwert haben wir 0 bis 2 gesetzt. Jetzt normalisiert der MinmaxScaler die Datenwerte zwischen 0 und 2.

Wir haben zuerst alle Namen der Spalten gelesen, um die Ergebnisse weiter anzuzeigen. Dann nennen wir die fit_tranform aus dem erstellten Objekt min_max_scalar und übergeben die CSV -Datei in diese.

Wir erhalten die normalisierten Ergebnisse, die zwischen 0 und 2 liegen.

Methode 6: Verwendung der maximalen Absolutskalierung

Wir können die Daten auch mit Pandas normalisieren. Diese Funktionen sind auch sehr beliebt bei der Normalisierung der Daten. Die maximale absolute Skalierung normalisiert die Werte zwischen 0 und 1. Wir bewerben uns hier .max () und .ABS () wie unten gezeigt:

Pandas als PD importieren
# Erstellen Sie einen Demo -Datenrahmen
df = pd.Datenrahmen ([
[380000, 610, 187.9],
[860000, 705, 237.4],
[430000, 130, 147.0],
[60000, 150, 137.5]]],
Spalten = ['A', 'B', 'C'])
Druck (df)
# Normalisierte Methode
Für die Spalte in DF.Säulen:
DF [Spalte] = DF [Spalte] / df [Spalte].Abs().max ()
Druck (df)

Ergebnis:

Wir importieren die Pandas -Bibliothek.

Wir haben einen Dummy -Datenframe erstellt und diesen Datenrahmen gedruckt.

Wir rufen jede Spalte auf und teilen dann die Spaltenwerte mit dem .max () und .Abs().

Wir drucken das Ergebnis und bestätigen aus dem Ergebnis, dass unsere Daten zwischen 0 und 1 normalisieren.

Methode 7: Verwenden der Z-Score-Methode

Die nächste Methode, die wir diskutieren werden, ist die Z-Score-Methode. Diese Methode wandelt die Informationen in die Verteilung um. Diese Methode berechnet den Mittelwert jeder Spalte und subtrahiert dann von jeder Spalte und teilt ihn schließlich mit der Standardabweichung ab. Dies normalisiert die Daten zwischen -1 und 1.

Pandas als PD importieren
# Erstellen Sie einen Demo -Datenrahmen
df = pd.Datenrahmen ([
[380000, 610, 187.9],
[860000, 705, 237.4],
[430000, 130, 147.0],
[60000, 150, 137.5]]],
Spalten = ['A', 'B', 'C'])
Druck (df)
# Normalisierte Methode
Für die Spalte in DF.Säulen:
DF [Spalte] = (df [Spalte] - DF [Spalte].Mean ()) / df [Spalte].std ()
Druck (df)

Ergebnis:

Wir haben einen Dummy -Datenframe erstellt und diesen Datenrahmen gedruckt.

Wir berechnen den Mittelwert der Spalte und subtrahieren Sie ihn von der Spalte. Dann teilen wir den Spaltenwert mit der Standardabweichung auf.

Wir drucken die normalisierten Daten zwischen -1 und 1.

Schlussfolgerung: Wir haben verschiedene Arten von normalisierten Methoden gesehen. Unter ihnen ist Sklearn sehr berühmt, weil es das maschinelle Lernen unterstützt. Das hängt jedoch von den Anforderungen des Benutzers ab. Manchmal sind Pandas zur Normalisierung der Daten ausreichend. Wir können nicht sagen, dass es nur oberhalb der Normalisierung der Methoden gibt. Es gibt zahlreiche Methoden, um die Datennormalisierung durchzuführen, die auch von Ihrem Datentyp wie Bildern, numerisch, text usw. abhängen. Wir konzentrieren uns auf diese numerischen Daten und Python.