Normalisieren eine Liste von Zahlen in Python
- Die Formel für die Normalisierung
-
Normalisieren eine Liste von Zahlen mit der Funktion
MinMaxScaler
in Pythonsklearn
- Normalisieren eine Liste von Zahlen manuell in Python
Normalisierung bedeutet, dass gegebene Daten in eine andere Skala umgewandelt werden. Wir skalieren Daten so neu, dass sie zwischen zwei Werte fallen. Meistens werden Daten zwischen 0 und 1 neu skaliert. Wir skalieren die Daten für einen anderen Zweck neu. Algorithmen für maschinelles Lernen sind beispielsweise besser, wenn die Datensatzwerte klein sind.
Nehmen wir an, wir haben eine Liste {1,2,3} und nach der Normalisierung der Skala von 0 und 1 wird die Liste {0, 0.5, 1}
sein. Wir können unsere Daten auch auf eine andere Skala normalisieren. Sagen wir zwischen 2 und 6. Wenn wir also die Liste {1,2,3} nach der Normalisierung haben, wird es {2,4,6} sein.
Die Formel für die Normalisierung
Verstehen, wie Normalisierung funktioniert. Wir werden uns seine Formel ansehen. Wir subtrahieren von jeder Zahl den Mindestwert
und dividieren ihn durch den Bereich
, also: max-min. In der Ausgabe erhalten wir also den normalisierten Wert dieser bestimmten Zahl.
Wir können zwei Methoden verwenden, um eine Liste zu normalisieren. Entweder können wir die eingebaute Funktion verwenden, die im Vorverarbeitungsmodul des sklearn
-Pakets verfügbar ist. Oder wir können unsere Logik dafür entwickeln, die nach der gleichen Formel wie oben beschrieben funktioniert.
Normalisieren eine Liste von Zahlen mit der Funktion MinMaxScaler
in Python sklearn
Eine eingebaute Methode namens MinMaxScaler()
ist im preprocessing
-Modul des sklearn
-Pakets verfügbar. Wir erstellen ein 1D NumPy
-Array und übergeben es an die Funktion. Um diese Funktion nutzen zu können, müssen die Pakete NumPy
und sklearn
installiert sein.
Beispielcode:
# python 3.x
import numpy as np
from sklearn import preprocessing
list = np.array([6, 1, 0, 2, 7, 3, 8, 1, 5]).reshape(-1, 1)
print("Original List:", list)
scaler = preprocessing.MinMaxScaler()
normalizedlist = scaler.fit_transform(list)
print("Normalized List:", normalizedlist)
Ausgabe:
Original List: [[6]
[1]
[0]
[2]
[7]
[3]
[8]
[1]
[5]]
Normalized List: [[0.75 ]
[0.125]
[0. ]
[0.25 ]
[0.875]
[0.375]
[1. ]
[0.125]
[0.625]]
Nehmen wir nun an, wir möchten unseren Bereich für die Normalisierung angeben. Dazu geben wir unseren Bereich
in MinMaxScaler()
an. Wenn wir den Bereich nicht angeben, sind es standardmäßig 0 und 1. Aber wir können unseren Bereich für die Skalierung definieren. In diesem Beispiel geben wir den Bereich 0 und 3 an.
Beispielcode:
# python 3.x
import numpy as np
from sklearn import preprocessing
list = np.array([6, 1, 0, 2, 7, 3, 8, 1, 5]).reshape(-1, 1)
print("Original List:", list)
scaler = preprocessing.MinMaxScaler(feature_range=(0, 3))
normalizedlist = scaler.fit_transform(list)
print("Normalized List:", normalizedlist)
Ausgabe:
Original List: [[6]
[1]
[0]
[2]
[7]
[3]
[8]
[1]
[5]]
Normalized List: [[2.25 ]
[0.375]
[0. ]
[0.75 ]
[2.625]
[1.125]
[3. ]
[0.375]
[1.875]]
Normalisieren eine Liste von Zahlen manuell in Python
Wir können die Zahlenliste auch manuell normalisieren, indem wir den vollständigen Code dafür schreiben, der nach der gleichen Formel funktioniert, wie oben für die Normalisierung beschrieben.
Beispielcode:
list = [6, 1, 0, 2, 7, 3, 8, 1, 5]
print("Original List:", list)
xmin = min(list)
xmax = max(list)
for i, x in enumerate(list):
list[i] = (x - xmin) / (xmax - xmin)
print("Normalized List:", list)
Ausgabe:
Original List: [6, 1, 0, 2, 7, 3, 8, 1, 5]
Normalized List: [0.75, 0.125, 0.0, 0.25, 0.875, 0.375, 1.0, 0.125, 0.625]
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedInVerwandter Artikel - Python List
- Alle Vorkommen eines Elements aus einer Liste in Python entfernen
- Konvertieren eines Dictionaries in eine Liste in Python
- Duplikate aus Liste entfernen in Python
- Wie erhält man den Durchschnitt einer Liste in Python
- Was ist der Unterschied zwischen den Listenmethoden append und extend
- Wie man eine Liste in Python in eine Zeichenkette konvertiert