ComeçarComece de graça

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

Ver curso

Instruções do exercício

  • Importe PowerTransformer do módulo preprocessing do sklearn.
  • Instancie PowerTransformer() como pow_trans.
  • Faça o ajuste (fit) do PowerTransformer na coluna ConvertedSalary de so_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()
Editar e executar o código