Zacznij terazZacznij za darmo

Podział na przedziały

Dla właściciela domu ma duże znaczenie, czy nieruchomość ma 1, 2, 3 czy 4 sypialnie. Jednak podobnie jak w przypadku łazienek – po przekroczeniu pewnego progu nie robi już różnicy, czy dom ma 7, czy 8. W tym ćwiczeniu sprawdzimy, jak wyznaczyć sensowne punkty podziału do grupowania wartości w przedziały.

To ćwiczenie jest częścią kursu

Inżynieria cech z PySpark

Zobacz kurs

Instrukcje do ćwiczenia

  • Narysuj wykres rozkładu ramki danych pandas o nazwie sample_df, używając funkcji distplot() z biblioteki Seaborn.
  • Ponieważ rozkład ma długi ogon rzadkich wartości powyżej 5, utwórz podziały splits na przedziały: 1, 2, 3, 4, 5+
  • Utwórz transformer buck, tworząc instancję Bucketizer() z podanymi podziałami, a następnie ustaw kolumnę wejściową jako BEDROOMS i kolumnę wyjściową jako bedrooms.
  • Zastosuj transformację Bucketizer na df za pomocą transform() i przypisz wynik do df_bucket. Następnie zweryfikuj rezultaty, używając show().

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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']].____()
Edytuj i uruchom kod