ComeçarComece de graça

Corrigindo dados com assimetria à direita

Nos slides mostramos como você pode usar transformações logarítmicas para corrigir dados com assimetria positiva (dados cuja distribuição está mais à esquerda). Para corrigir a assimetria negativa (dados mais à direita), é preciso dar um passo extra chamado “reflexão” antes de aplicar o inverso de \(\log\), escrito como (1/\(\log\)), para que os dados fiquem mais próximos de uma distribuição normal. A reflexão dos dados usa a seguinte fórmula para refletir cada valor: \((x_{\text{max}} +1) – x\).

Este exercício faz parte do curso

Feature Engineering com PySpark

Ver curso

Instruções do exercício

  • Use a função de agregação skewness() para verificar que 'YEARBUILT' tem assimetria negativa.
  • Use withColumn() para criar uma nova coluna 'Reflect_YearBuilt' e refletir os valores de 'YEARBUILT'.
  • Usando a coluna 'Reflect_YearBuilt', crie outra coluna 'adj_yearbuilt' tomando 1/log() dos valores.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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 e executar o código