Testando o QuantileTransformer
A padronização está sujeita às mesmas armadilhas que os escores z. Ambos usam média e desvio padrão nos cálculos, o que os torna muito sensíveis a valores extremos.
Para contornar esse problema, você deve usar QuantileTransformer, que se baseia em quantis. Os quantis de uma distribuição permanecem os mesmos independentemente da magnitude dos outliers.
Você deve usar StandardScaler quando os dados estiverem distribuídos normalmente (o que pode ser verificado com um histograma). Para outras distribuições, QuantileTransformer é a melhor opção.
Você vai praticar com o conjunto de dados females já carregado. O matplotlib.pyplot está carregado com seu alias padrão, plt.
Este exercício faz parte do curso
Detecção de Anomalias em Python
Instruções do exercício
- Instancie um
QuantileTransformer()que transforme as variáveis em uma distribuição normal e atribua aqt. - Faça o ajuste e a transformação do array de atributos
Xpreservando os nomes das colunas. - Plote um histograma da coluna
palmlength.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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()