Transformação logarítmica
Nos exercícios anteriores, você escalonou os dados linearmente, o que não afeta o formato da distribuição. Isso funciona muito bem quando seus dados são normalmente distribuídos (ou próximos disso), uma suposição feita por muitos modelos de Machine Learning. Às vezes, você vai trabalhar com dados que seguem de perto a normalidade, por exemplo, altura ou peso de uma população. Por outro lado, muitas variáveis do mundo real não seguem esse padrão, como salários ou idade de uma população. Neste exercício, você usará uma transformação logarítmica na coluna ConvertedSalary do DataFrame so_numeric_df, pois grande parte dos dados está concentrada nos valores mais baixos, mas também contém valores muito altos. Diz-se que essas distribuições têm uma longa cauda à direita.
Este exercício faz parte do curso
Feature Engineering for Machine Learning in Python
Instruções do exercício
- Importe
PowerTransformerdo módulopreprocessingdosklearn. - Instancie
PowerTransformer()comopow_trans. - Faça o ajuste (fit) do
PowerTransformerna colunaConvertedSalarydeso_numeric_df. - Transforme a mesma coluna com o scaler que você acabou de ajustar.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Import PowerTransformer
from sklearn.preprocessing import ____
# Instantiate PowerTransformer
pow_trans = ____
# Train the transform on the data
____
# Apply the power transform to the data
so_numeric_df['ConvertedSalary_LG'] = ____(so_numeric_df[['ConvertedSalary']])
# Plot the data before and after the transformation
so_numeric_df[['ConvertedSalary', 'ConvertedSalary_LG']].hist()
plt.show()