Testarea QuantileTransformer
Standardizarea este susceptibilă la aceleași probleme ca și scorurile z. Ambele metode utilizează media și abaterea standard în calculele lor, ceea ce le face foarte sensibile la valorile extreme.
Pentru a depăși această problemă, ar trebui să folosești QuantileTransformer, care se bazează pe cuantile. Cuantilele unei distribuții rămân neschimbate indiferent de magnitudinea valorilor aberante.
Folosește StandardScaler atunci când datele urmează o distribuție normală (lucru care poate fi verificat cu o histogramă). Pentru alte distribuții, QuantileTransformer este o alegere mai bună.
Vei exersa pe setul de date females deja încărcat. matplotlib.pyplot este importat cu aliasul său standard, plt.
Acest exercițiu face parte din cursul
Detecția anomaliilor în Python
Instrucțiuni pentru exercițiu
- Instanțiază un
QuantileTransformer()care transformă caracteristicile într-o distribuție normală și atribuie-l variabileiqt. - Ajustează și transformează matricea de caracteristici
X, păstrând numele coloanelor. - Trasează o histogramă a coloanei
palmlength.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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()