Використання візуалізацій: distplot
Розуміння розподілу нашої залежної змінної дуже важливе й може впливати на вибір моделі або попередню обробку. Найкращий спосіб — побудувати графік, однак у PySpark побудова графіків не є вбудованою функцією, тож нам знадобляться проміжні кроки, щоб усе працювало коректно. У цій вправі ви візуалізуєте змінну 'LISTPRICE' і отримаєте більше уявлення про її розподіл, обчисливши коефіцієнт асиметрії (skewness).
Пакети matplotlib.pyplot і seaborn уже імпортовано з псевдонімами plt та sns.
Ця вправа є частиною курсу
Опрацювання ознак у PySpark
Інструкції до вправи
- Виберіть 50% рядків датафрейма
dfза допомогоюsample(), без повернення вибірок (without replacement) і з фіксацією випадкового зерна 42. - Перетворіть датафрейм Spark на
pandas.DataFrame()за допомогоюtoPandas(). - Побудуйте графік розподілу за допомогою методу
distplot()зseaborn. - Імпортуйте функцію
skewness()зpyspark.sql.functionsі обчисліть її для агрегату стовпця'LISTPRICE'методомagg(). Не забудьте виконатиcollect(), щоб отримати результат обчислення.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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())