QuantileTransformer testen
Standardisierung ist anfällig für dieselben Fallstricke wie z-Scores. Beide verwenden Mittelwert und Standardabweichung in ihren Berechnungen und reagieren daher sehr empfindlich auf Ausreißer.
Um dieses Problem zu umgehen, solltest du QuantileTransformer verwenden, der mit Quantilen arbeitet. Die Quantile einer Verteilung bleiben unabhängig von der Größe der Ausreißer gleich.
Du solltest StandardScaler verwenden, wenn die Daten normalverteilt sind (das kannst du mit einem Histogramm überprüfen). Für andere Verteilungen ist QuantileTransformer die bessere Wahl.
Du übst das am geladenen Datensatz females. matplotlib.pyplot ist unter seinem Standardkürzel plt geladen.
Diese Übung ist Teil des Kurses
<Kurs>Anomalieerkennung mit Python</Kurs>Übungsanweisungen
- Instanziiere einen
QuantileTransformer(), der Merkmale in eine Normalverteilung transformiert, und weise ihnqtzu. - Fitte und transformiere das Feature-Array
Xund erhalte die Spaltennamen. - Zeichne ein Histogramm der Spalte
palmlength.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
from sklearn.preprocessing import QuantileTransformer
# Instantiate an instance that casts to normal
qt = ____
# Fit and transform the feature array
X.____ = ____
# Plot a histogram of palm length
plt.____(____, color='red')
plt.xlabel("Palm length")
plt.show()