Inizia subitoInizia gratis

Raggruppamento in bucket

Se sei proprietario di casa è molto importante se un immobile ha 1, 2, 3 o 4 camere da letto. Ma, come per i bagni, superata una certa soglia non ti interessa più di tanto se la casa ne ha 7 o 8. In questo esempio vediamo come individuare buoni punti di valore per creare i bucket.

Questo esercizio fa parte del corso

Feature Engineering con PySpark

Visualizza corso

Istruzioni dell'esercizio

  • Traccia un grafico di distribuzione del dataframe pandas sample_df usando Seaborn distplot().
  • Dato che sembra esserci una lunga coda di valori rari dopo 5, crea gli splits dei bucket come 1, 2, 3, 4, 5+
  • Crea il trasformatore buck istanziando Bucketizer() con gli split per impostare i bucket, poi imposta la colonna di input come BEDROOMS e la colonna di output come bedrooms.
  • Applica la trasformazione del Bucketizer su df usando transform() e assegna il risultato a df_bucket. Poi verifica i risultati con show()

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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']].____()
Modifica ed esegui il codice