Visualisaties gebruiken: distplot
Het begrijpen van de verdeling van je afhankelijke variabele is erg belangrijk en kan invloed hebben op het type model of de preprocessing die je doet. Een goede manier om dit te doen is door het te plotten. Plotten is echter geen ingebouwde functie in PySpark; we moeten een paar tussenstappen nemen om te zorgen dat het goed werkt. In deze oefening ga je de variabele 'LISTPRICE' visualiseren en meer inzicht krijgen in de verdeling door de scheefheid (skewness) te berekenen.
De pakketten matplotlib.pyplot en seaborn zijn al voor je geïmporteerd met de aliassen plt en sns.
Deze oefening maakt deel uit van de cursus
Feature Engineering met PySpark
Oefeninstructies
- Neem een steekproef van 50% van de dataframe
dfmetsample(), zonder vervanging en met de random seed op 42. - Zet de Spark DataFrame om naar een
pandas.DataFrame()mettoPandas(). - Maak een verdelingsplot met de methode
distplot()vanseaborn. - Importeer de functie
skewness()uitpyspark.sql.functionsen bereken deze op de aggregatie van de kolom'LISTPRICE'met de methodeagg(). Vergeet niet je resultaat tecollect()en om de berekening uit te voeren.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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())