MulaiMulai sekarang secara gratis

Pembungkusan (Bucketing)

Jika Anda seorang pemilik rumah, jumlah kamar tidur 1, 2, 3, atau 4 sangat penting. Namun seperti kamar mandi, setelah mencapai titik tertentu Anda tidak terlalu peduli apakah rumah memiliki 7 atau 8. Pada contoh ini, kita akan melihat cara menentukan titik nilai yang baik untuk membuat bucket.

Latihan ini adalah bagian dari kursus

Rekayasa Fitur dengan PySpark

Lihat Kursus

Petunjuk latihan

  • Buat plot distribusi dari pandas dataframe sample_df menggunakan Seaborn distplot().
  • Karena tampaknya ada ekor panjang dari nilai yang jarang setelah 5, buat splits bucket 1, 2, 3, 4, 5+
  • Buat transformer buck dengan menginstansiasi Bucketizer() beserta splits untuk menetapkan bucket, lalu set kolom masukan sebagai BEDROOMS dan kolom keluaran sebagai bedrooms.
  • Terapkan transformasi Bucketizer pada df menggunakan transform() dan simpan hasilnya ke df_bucket. Kemudian verifikasi hasilnya dengan show()

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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']].____()
Edit dan Jalankan Kode