Min-Max-Skalierung
Teil des Abschnitts Statistik für ML der Machine Learning-Journey von Coddy. Lektion 48 von 64.
Min-Max-Skalierung sorgt dafür, dass jedes Merkmal gleichberechtigt berücksichtigt wird: In jeder Spalte wird der kleinste Wert zu 0, der größte zu 1 und alle übrigen liegen dazwischen.
Füge eine 40-jährige Person mit einem Einkommen von 80.000 $ hinzu und skaliere dann alle vier:
Broadcasting erledigt das in einer Zeile, mit dem jeweils kleinsten Wert und dem Wertebereich jeder Spalte:
X = np.array([[25, 52000],
[61, 53000],
[26, 55000],
[40, 80000]])
lows = X.min(axis=0)
highs = X.max(axis=0)
scaled = (X - lows) / (highs - lows)Jetzt wird auch das Alter berücksichtigt. Der nächste Nachbar von Kunde 0 ist nicht mehr der 61-Jährige:
Ein Extremwert wird zu 1 und drückt den Rest in die Nähe von 0, daher eignet sich Min-Max für Spalten ohne Ausreißer.
Aufgabe
MittelEine Rösterei findet Kaffees, die ähnlich schmecken. Jede Zeile von beans ist ein Kaffee: Wassertemperatur (C), Brühzeit (s) und Koffein (mg). Das Programm liest die Positionen i und j; die vorgegebene Funktion distance(a, b) misst den Abstand zwischen zwei Stichproben.
- Skaliere
beansmit Min-Max-Skalierung. - Gib
Every column from 0 to 1:und anschließend die skalierte Tabelle mit 2 Dezimalstellen aus. - Gib den Abstand zwischen ihnen vor und nach der Skalierung wie unten gezeigt aus.
Für drei andere Kaffees, an den Positionen 0 und 1:
Every column from 0 to 1:
[[1. 1. 0.67]
[0.5 0.5 0. ]
[0. 0. 1. ]]
Coffees 0 and 1: 63.28 apart before scaling, 0.97 afterProbier es selbst
import numpy as np
# Gibt den Abstand zwischen zwei Stichproben zurück (aus Why Scale Features)
def distance(a, b):
return np.sqrt(((a - b) ** 2).sum())
# Eine Zeile pro Kaffee: Wassertemperatur in C, Brühzeit in Sekunden, Koffein in mg
beans = np.array([[88, 120, 60],
[96, 300, 30],
[86, 90, 70],
[94, 240, 120],
[90, 180, 90],
[84, 60, 50]])
i = int(input())
j = int(input())
# Schreibe deinen Code unten
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Statistik für ML
1Lage und Streuung
Mittelwert und MedianPerzentile und QuartileVarianz und StandardabweichungStichprobe oder Grundgesamtheit?Der häufigste WertRückblick: Lieferzeiten4Stichproben und Grundgesamtheiten
Grundgesamtheit und StichprobeStichprobenmittelwerte variierenDie StichprobenverteilungGrößere Stichproben, weniger ZufallRückblick: Eine Stadt befragen2Verteilungen
DichtehistogrammeDatenverteilungenDie NormalverteilungskurveDie 68-95-99,7-RegelZ-WerteRückblick: Akkulaufzeit3Wahrscheinlichkeit durch Simulation
Wahrscheinlichkeit als HäufigkeitDas Gesetz der großen ZahlenAugensummen beim WürfelnErwartungswertBedingte WahrscheinlichkeitRückblick: Gewinnchancen am Würfelstand6Zusammenhänge
Streudiagramme lesenKorrelationKorrelationsmatrixKorrelations-HeatmapsKorrelation ist keine KausalitätRückblick: Eiscreme und Sonne9Merkmalsskalierung
Warum Merkmale skalierenMin-Max-SkalierungStandardisierungStandardScalerRückblick: KletterpartnerÜbe selbstständig: Online-Python-Compiler