Začněte nyníZačněte zdarma

Bucketování

Pro kupce nemovitosti je klíčové, jestli má dům 1, 2, 3 nebo 4 ložnice. Jenže podobně jako u koupelen – od určitého bodu už nezáleží na tom, jestli jich je 7 nebo 8. V tomto příkladu se podíváme na to, jak najít vhodné hranice pro rozdělení hodnot do skupin (bucketů).

Toto cvičení je součástí kurzu

Feature Engineering with PySpark

Zobrazit kurz

Pokyny k cvičení

  • Vykresli distribuční graf pandas datového rámce sample_df pomocí funkce distplot() z knihovny Seaborn.
  • Protože se zdá, že po hodnotě 5 následuje dlouhý ocas s řídkými hodnotami, vytvoř hranice splits pro skupiny 1, 2, 3, 4, 5+
  • Vytvoř transformátor buck tak, že vytvoříš instanci Bucketizer() s definovanými hranicemi pro skupiny, vstupní sloupec nastav na BEDROOMS a výstupní sloupec na bedrooms.
  • Aplikuj transformaci Bucketizer na df pomocí transform() a výsledek ulož do df_bucket. Potom ověř výsledky pomocí show()

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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']].____()
Upravit a spustit kód