Ölçekleyicilerini ölçeklemek
Önceki egzersizde tek bir değişkeni min-max ölçeklemiştik. Diyelim ki ölçeklemen gereken ÇOK sayıda değişken var; her biri için yüzlerce satır kod yazmak istemezsin. Hadi önceki egzersizi genişletip bunu bir fonksiyona dönüştürelim.
Bu egzersiz, kursun bir parçasıdır
PySpark ile Özellik Mühendisliği
Egzersiz talimatları
df(bir dataframe) vecols_to_scale(ölçeklenecek sütunların listesi) parametrelerini alanmin_max_scaleradlı bir fonksiyon tanımla.- Listedeki her sütunu dolaşmak ve min-max ölçeklemek için bir
fordöngüsü kullan. - Yeni sütunlar eklenmiş haliyle
dfdataframe'ini döndür. min_max_scaler()fonksiyonunudfvecols_to_scalesütun listesi üzerinde uygula.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
def ____(____, ____):
# Takes a dataframe and list of columns to minmax scale. Returns a dataframe.
for col in ____:
# Define min and max values and collect them
max_days = df.agg({col: 'max'}).collect()[0][0]
min_days = df.agg({____: 'min'}).collect()[0][0]
new_column_name = 'scaled_' + col
# Create a new column based off the scaled data
df = df.withColumn(____,
(df[____] - min_days) / (max_days - min_days))
return ____
df = min_max_scaler(____, ____)
# Show that our data is now between 0 and 1
df[['DAYSONMARKET', 'scaled_DAYSONMARKET']].show()