Inizia subitoInizia gratis

Correggere dati con asimmetria a destra

Nelle diapositive abbiamo mostrato come usare le trasformazioni logaritmiche per sistemare dati con asimmetria positiva (distribuzione concentrata a sinistra). Per correggere l’asimmetria negativa (dati per lo più a destra) serve un passaggio in più, chiamato "riflessione", prima di poter applicare l’inverso di \(\log\), scritto come (1/\(\log\)), per rendere i dati più simili a una distribuzione normale. La riflessione dei dati usa la seguente formula per riflettere ogni valore: \((x_{\text{max}} +1) – x\).

Questo esercizio fa parte del corso

Feature Engineering con PySpark

Visualizza corso

Istruzioni dell'esercizio

  • Usa la funzione di aggregazione skewness() per verificare che 'YEARBUILT' abbia asimmetria negativa.
  • Usa withColumn() per creare una nuova colonna 'Reflect_YearBuilt' e riflettere i valori di 'YEARBUILT'.
  • Usando la colonna 'Reflect_YearBuilt', crea un’altra colonna 'adj_yearbuilt' calcolando 1/log() dei valori.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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[____]))
Modifica ed esegui il codice