EmpezarEmpieza gratis

Corregir datos con sesgo a la derecha

En las diapositivas vimos cómo puedes usar transformaciones logarítmicas para corregir datos con sesgo positivo (cuando la distribución se concentra a la izquierda). Para corregir el sesgo negativo (datos concentrados a la derecha) necesitas un paso adicional llamado "reflexión" antes de aplicar el inverso de \(\log\), escrito como (1/\(\log\)), para que los datos se parezcan más a una distribución normal. La reflexión de los datos usa la siguiente fórmula para reflejar cada valor: \((x_{\text{max}} +1) – x\).

Este ejercicio forma parte del curso

Ingeniería de características con PySpark

Ver curso

Instrucciones del ejercicio

  • Usa la función de agregación skewness() para comprobar que 'YEARBUILT' tiene sesgo negativo.
  • Usa withColumn() para crear una nueva columna 'Reflect_YearBuilt' y reflejar los valores de 'YEARBUILT'.
  • Usando la columna 'Reflect_YearBuilt', crea otra columna 'adj_yearbuilt' tomando 1/log() de sus valores.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

from pyspark.sql.functions import log

# Compute the skewness
print(df.____({____: ____}).____())

# Calculate the max year
max_year = df.____({____: ____}).____()[0][0]

# Create a new column of reflected data
df = df.____(____, (max_year + 1) - df[____])

# Create a new column based reflected data
df = df.____(____, 1 / ____(df[____]))
Editar y ejecutar código