ÎncepețiÎncepe gratuit

Grupare în intervale (Bucketing)

Dacă ești proprietar, contează foarte mult dacă o casă are 1, 2, 3 sau 4 dormitoare. Însă, la fel ca în cazul băilor, după un anumit punct nu mai contează dacă locuința are 7 sau 8. În acest exercițiu vom vedea cum identificăm punctele de valoare potrivite pentru gruparea în intervale.

Acest exercițiu face parte din cursul

Feature Engineering cu PySpark

Vezi cursul

Instrucțiuni pentru exercițiu

  • Trasează un grafic de distribuție pentru dataframe-ul pandas sample_df folosind distplot() din Seaborn.
  • Deoarece pare să existe o coadă lungă de valori rare după 5, creează intervalele splits de 1, 2, 3, 4, 5+
  • Creează transformatorul buck instanțiind Bucketizer() cu intervalele definite, setând coloana de intrare ca BEDROOMS și coloana de ieșire ca bedrooms.
  • Aplică transformarea Bucketizer pe df folosind transform() și atribuie rezultatul variabilei df_bucket. Verifică apoi rezultatele cu show().

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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']].____()
Editează și rulează codul