Varianzskalierung
Es geht um die Transformation der Originaldaten auf einen bestimmten Wertebereich. Meistens benötgt man einen Wert zwischen 0 und 1. Sklearn bietet einige Funktionen an.
Die Min-Max Skalierung bildet die Werte zwischen 0 und 1 ab. Ein Nachteil ist, wenn es Ausreisser gibt. Dann wird das Bild verfälscht.
Die Varianzskalierung ergibt einen Mittelwert von 0 und eine Varianz von 1.
Datei: Varianzskalierung.py
# Stuhlpfarrer Ehrenfried - 2021
# Demo Mittelwert und Varianzskalierung
from sklearn.preprocessing import scale, minmax_scale
import matplotlib.pyplot as plt
import numpy as np
# Zufallszahlen erzeugen
zufallsElemente = np.random.randint(0, 1000, 10).astype(np.float64)
print("Zufallselemente: ", zufallsElemente)
# Abbildung der Werte von 0 bis 1
xMinMaxSkalierung = minmax_scale(zufallsElemente)
print("Min Max:", xMinMaxSkalierung)
# Varianzskalierung: Mittelwert 0 und Varianz 1
xVarianzSkalierung = scale(zufallsElemente, with_mean=True, with_std=True)
print("Varianzskalierung: ", xVarianzSkalierung)
Ausgabe:
Zufallselemente: [ 40. 464. 269. 513. 210. 853. 275. 630. 615. 565.] Min Max: [0. 0.52152522 0.28167282 0.58179582 0.20910209 1. 0.28905289 0.72570726 0.70725707 0.64575646] Varianzskalierung: [-1.75544949 0.08964368 -0.75892511 0.30287378 -1.01567157 1.78242962 -0.7328153 0.81201506 0.74674053 0.52915879]