Začněte nyníZačněte zdarma

Oprava dat s pravostranným zkreslením

Ve slides jsme si ukázali, jak lze logaritmickou transformací opravit data s kladným zkreslením (jejichž rozdělení je soustředěno převážně vlevo). Při záporném zkreslení (data soustředěna převážně vpravo) je potřeba udělat ještě jeden krok zvaný „reflektování" – teprve pak můžeš aplikovat inverzní funkci \(\log\), zapsanou jako (1/\(\log\)), a přiblížit tak rozdělení dat normálnímu. Reflektování funguje podle tohoto vzorce: \((x_{\text{max}} +1) – x\).

Toto cvičení je součástí kurzu

Feature Engineering with PySpark

Zobrazit kurz

Pokyny k cvičení

  • Pomocí agregační funkce skewness() ověř, že sloupec 'YEARBUILT' má záporné zkreslení.
  • Pomocí withColumn() vytvoř nový sloupec 'Reflect_YearBuilt' a reflektuj hodnoty ze sloupce 'YEARBUILT'.
  • Ze sloupce 'Reflect_YearBuilt' vytvoř další sloupec 'adj_yearbuilt' tak, že z hodnot vypočítáš 1/log().

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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[____]))
Upravit a spustit kód