MulaiMulai sekarang secara gratis

Menskalakan skaler Anda

Pada latihan sebelumnya, kita melakukan min-max scaling pada satu variabel. Misalkan Anda memiliki BANYAK variabel untuk diskalakan; Anda tentu tidak ingin menulis ratusan baris kode untuk masing-masing. Mari kita kembangkan latihan sebelumnya dan menjadikannya sebuah fungsi.

Latihan ini adalah bagian dari kursus

Rekayasa Fitur dengan PySpark

Lihat Kursus

Petunjuk latihan

  • Definisikan fungsi bernama min_max_scaler yang menerima parameter df sebuah dataframe dan cols_to_scale daftar kolom yang akan diskalakan.
  • Gunakan loop for untuk mengiterasi setiap kolom dalam daftar dan lakukan min-max scaling.
  • Kembalikan dataframe df dengan kolom-kolom baru yang telah ditambahkan.
  • Terapkan fungsi min_max_scaler() pada df dan daftar kolom cols_to_scale.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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()
Edit dan Jalankan Kode