ПочатиПочніть безкоштовно

Бакетизація

Якщо ви володієте житлом, для вас дуже важливо, чи має будинок 1, 2, 3 або 4 спальні. Але, як і з ванними кімнатами, після певної межі вже не так важливо, чи їх 7 чи 8. У цьому прикладі ми розглянемо, як визначити зручні порогові значення для групування в бакети.

Ця вправа є частиною курсу

Опрацювання ознак у PySpark

Переглянути курс

Інструкції до вправи

  • Побудуйте графік розподілу для датафрейму pandas sample_df, використавши Seaborn distplot().
  • Оскільки видно довгий „хвіст" рідкісних значень після 5, створіть бакет splits для 1, 2, 3, 4, 5+.
  • Створіть перетворювач buck, ініціалізувавши Bucketizer() із цими межами для задання бакетів, потім вкажіть вхідну колонку BEDROOMS і вихідну колонку bedrooms.
  • Застосуйте перетворення Bucketizer до df за допомогою transform() і запишіть результат у df_bucket. Потім перевірте результати через show().

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

from pyspark.ml.feature import Bucketizer

# Plot distribution of sample_df
sns.____(____, axlabel='BEDROOMS')
plt.show()

# Create the bucket splits and bucketizer
splits = [____, ____, ____, ____, ____, ____, float('Inf')]
buck = ____(splits=____, inputCol=____, outputCol=____)

# Apply the transformation to df: df_bucket
df_bucket = ____.____(____)

# Display results
df_bucket[['BEDROOMS', 'bedrooms']].____()
Редагувати та запускати код