ÎncepețiÎncepe gratuit

Corectarea Asimetriei la Dreapta a Datelor

În slide-uri am arătat cum poți folosi transformările logaritmice pentru a corecta datele cu asimetrie pozitivă (date a căror distribuție este concentrată preponderent în stânga). Pentru a corecta asimetria negativă (date concentrate preponderent în dreapta), trebuie să parcurgi un pas suplimentar numit „reflectare", înainte de a putea aplica inversul lui \(\log\), notat ca (1/\(\log\)), astfel încât distribuția să se apropie de una normală. Reflectarea datelor folosește următoarea formulă pentru a reflecta fiecare valoare: \((x_{\text{max}} +1) – x\).

Acest exercițiu face parte din cursul

Feature Engineering cu PySpark

Vezi cursul

Instrucțiuni pentru exercițiu

  • Folosește funcția de agregare skewness() pentru a verifica că 'YEARBUILT' prezintă asimetrie negativă.
  • Folosește withColumn() pentru a crea o nouă coloană 'Reflect_YearBuilt' și reflectă valorile din 'YEARBUILT'.
  • Folosind coloana 'Reflect_YearBuilt', creează o altă coloană 'adj_yearbuilt' aplicând 1/log() asupra valorilor.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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[____]))
Editează și rulează codul