ComenzarEmpieza gratis

Transformación logarítmica

En los ejercicios anteriores escalaste los datos linealmente, lo cual no afecta a la forma de la distribución. Esto funciona muy bien si tus datos siguen una distribución normal (o cercana a normal), una suposición común en muchos modelos de Machine Learning. A veces trabajarás con datos que se ajustan bastante a la normalidad, p. ej., la altura o el peso de una población. En cambio, muchas variables del mundo real no siguen ese patrón, p. ej., los salarios o la edad de una población. En este ejercicio aplicarás una transformación logarítmica a la columna ConvertedSalary del DataFrame so_numeric_df, ya que gran parte de sus valores se concentran en los más bajos, pero también contiene valores muy altos. Se dice que estas distribuciones tienen una cola derecha larga.

Este ejercicio forma parte del curso

Ingeniería de características para Machine Learning en Python

Ver curso

Instrucciones del ejercicio

  • Importa PowerTransformer del módulo preprocessing de sklearn.
  • Instancia PowerTransformer() como pow_trans.
  • Ajusta (fit) el PowerTransformer sobre la columna ConvertedSalary de so_numeric_df.
  • Transforma esa misma columna con el escalador que acabas de ajustar.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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 y ejecutar código