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
Anomalieerkennung mit Python
Anleitung zur Übung
- 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 Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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()