BaşlayınÜcretsiz başlayın

Kovalama (Bucketing)

Bir ev sahibiysen, bir evin 1, 2, 3 ya da 4 yatak odalı olması çok önemlidir. Ama banyolarda olduğu gibi, belli bir noktadan sonra evin 7 mi 8 mi yatak odası olduğunun pek önemi kalmaz. Bu örnekte, hangi değer noktalarının kovalamak (bucket) için iyi adaylar olduğunu nasıl belirleyeceğine bakacağız.

Bu egzersiz, kursun bir parçasıdır

PySpark ile Özellik Mühendisliği

Kursa Göz Atın

Egzersiz talimatları

  • pandas veri çerçevesi sample_df için Seaborn distplot() kullanarak bir dağılım grafiği çiz.
  • 5’ten sonra seyrek değerlerden oluşan uzun bir kuyruk olduğu göründüğüne göre, 1, 2, 3, 4, 5+ kovalarını oluşturmak için splits listesini yarat.
  • Kovaları ayarlamak için Bucketizer()’ı bu splits ile başlatıp dönüştürücü buck’ı oluştur; ardından giriş sütununu BEDROOMS, çıkış sütununu bedrooms olarak ayarla.
  • transform() ile df üzerine Bucketizer dönüşümünü uygula ve sonucu df_bucket olarak ata. Sonrasında show() ile sonuçları doğrula.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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']].____()
Kodu Düzenle ve Çalıştır