Skalowanie do wartości procentowych
Na slajdach pokazaliśmy, jak skalować dane do zakresu od 0 do 1. Czasem jednak warto przeskalować dane inaczej – na potrzeby modelowania lub prezentacji wyników.
To ćwiczenie jest częścią kursu
Inżynieria cech z PySpark
Instrukcje do ćwiczenia
- Oblicz wartość maksymalną i minimalną kolumny
DAYSONMARKETi zapisz je w zmiennychmax_daysimin_days– pamiętaj, aby użyćcollect()naagg(). - Używając
withColumn(), utwórz nową kolumnę o nazwie 'percentagescaleddays' na podstawie kolumnyDAYSONMARKET. - Kolumna
percentage_scaled_dayspowinna zawierać liczby całkowite z zakresu od 0 do 100 – użyj funkcjiround(), aby otrzymać liczby całkowite. - Wyświetl wartości
max()imin()dla nowej kolumnypercentage_scaled_days.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Define max and min values and collect them
max_days = df.____({____: ____}).____()[0][0]
min_days = df.____({____: ____}).____()[0][0]
# Create a new column based off the scaled data
df = df.____(____,
____((df[____] - min_days) / (max_days - min_days)) * ____)
# Calc max and min for new column
print(df.____({____: ____}).____())
print(df.____({____: ____}).____())