Testování QuantileTransformer
Standardizace trpí stejnými nedostatky jako z-skóre. Obě metody pracují s průměrem a směrodatnou odchylkou, což je činí velmi citlivými na extrémní hodnoty.
Tento problém řeší QuantileTransformer, který využívá kvantily. Kvantily rozdělení zůstávají stejné bez ohledu na velikost odlehlých hodnot.
StandardScaler je vhodný tehdy, když mají data normální rozdělení (to lze ověřit histogramem). Pro ostatní typy rozdělení je lepší volbou QuantileTransformer.
Procvičíš si to na načteném datasetu females. Knihovna matplotlib.pyplot je načtena pod standardním aliasem plt.
Toto cvičení je součástí kurzu
Detekce anomálií v Pythonu
Pokyny k cvičení
- Vytvoř instanci
QuantileTransformer(), která transformuje příznaky na normální rozdělení, a přiřaď ji do proměnnéqt. - Fituj a transformuj pole příznaků
Xa zachovej přitom názvy sloupců. - Vykresli histogram sloupce
palmlength.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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()