CommencezCommencez gratuitement

Corriger une asymétrie à droite

Dans le diaporama, nous avons montré comment utiliser des transformations logarithmiques pour corriger une asymétrie positive (des données dont la distribution est surtout à gauche). Pour corriger une asymétrie négative (données surtout à droite), vous devez ajouter une étape appelée « réflexion » avant d'appliquer l'inverse de \(\log\), écrit comme (1/\(\log\)), afin que les données ressemblent davantage à une distribution normale. La réflexion des données utilise la formule suivante pour transformer chaque valeur : \((x_{\text{max}} +1) – x\).

Cette activité fait partie du cours

Ingénierie des caractéristiques avec PySpark

Voir le cours

Instructions de l’exercice

  • Utilisez la fonction d'agrégation skewness() pour vérifier que 'YEARBUILT' présente une asymétrie négative.
  • Utilisez withColumn() pour créer une nouvelle colonne 'Reflect_YearBuilt' et réfléchir les valeurs de 'YEARBUILT'.
  • À partir de la colonne 'Reflect_YearBuilt', créez une autre colonne 'adj_yearbuilt' en prenant 1/log() des valeurs.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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[____]))
Modifier et exécuter le code