Mettere alla prova QuantileTransformer
La standardizzazione soffre degli stessi limiti degli z-score. Entrambe usano media e deviazione standard nei calcoli, il che le rende molto sensibili ai valori estremi.
Per aggirare questo problema, dovresti usare QuantileTransformer, che si basa sui quantili. I quantili di una distribuzione restano invariati indipendentemente dall’ampiezza degli outlier.
Usa StandardScaler quando i dati sono distribuiti normalmente (puoi verificarlo con un istogramma). Per altre distribuzioni, QuantileTransformer è una scelta migliore.
Esercitati sul dataset females già caricato. matplotlib.pyplot è caricato con il suo alias standard, plt.
Questo esercizio fa parte del corso
Rilevamento delle anomalie in Python
Istruzioni dell'esercizio
- Istanzia un
QuantileTransformer()che trasformi le feature in una distribuzione normale e assegnalo aqt. - Adatta e trasforma l’array di feature
Xpreservando i nomi delle colonne. - Traccia un istogramma della colonna
palmlength.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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()