Utiliser des visualisations : distplot
Comprendre la distribution de notre variable dépendante est très important et peut influencer le type de modèle ou de prétraitement que nous ferons. Une excellente façon d'y arriver est de la représenter graphiquement. Cependant, la visualisation n'est pas une fonction intégrée dans PySpark ; nous devrons donc ajouter quelques étapes intermédiaires pour que tout fonctionne correctement. Dans cet exercice, vous allez visualiser la variable 'LISTPRICE' et approfondir votre compréhension de sa distribution en calculant l'asymétrie (skewness).
Les modules matplotlib.pyplot et seaborn ont été importés pour vous sous les alias plt et sns.
Cette activité fait partie du cours
Ingénierie des caractéristiques avec PySpark
Instructions de l’exercice
- Échantillonnez 50 % du dataframe
dfavecsample()en vous assurant de ne pas utiliser le remisage (without replacement) et en fixant la graine aléatoire à 42. - Convertissez le DataFrame Spark en
pandas.DataFrame()avectoPandas(). - Tracez un graphique de distribution à l'aide de la méthode
distplot()deseaborn. - Importez la fonction
skewness()depuispyspark.sql.functionset calculez-la sur l'agrégat de la colonne'LISTPRICE'avec la méthodeagg(). N'oubliez pas decollect()votre résultat pour évaluer le calcul.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Select a single column and sample and convert to pandas
sample_df = df.select(['LISTPRICE']).____(____, ____, 42)
pandas_df = sample_df.____()
# Plot distribution of pandas_df and display plot
sns.____(____)
plt.show()
# Import skewness function
from pyspark.sql.functions import skewness
# Compute and print skewness of LISTPRICE
print(df.____({____: ____}).collect())