शुरू करेंमुफ़्त में शुरू करें

अपने स्केलर्स को स्केल करना

पिछले अभ्यास में, हमने एक ही वैरिएबल पर minmax स्केलिंग की थी। मान लीजिए आपको बहुत सारे वैरिएबल्स को स्केल करना है — आप हर एक के लिए सैकड़ों लाइनें कोड नहीं लिखना चाहेंगे। आइए पिछले अभ्यास को आगे बढ़ाएँ और इसे एक फंक्शन के रूप में बनाएँ।

यह अभ्यास पाठ्यक्रम का हिस्सा है

PySpark के साथ Feature Engineering

पाठ्यक्रम देखें

अभ्यास निर्देश

  • min_max_scaler नाम का एक फंक्शन डिफ़ाइन करें जो पैरामीटर्स df (एक डेटाफ़्रेम) और cols_to_scale (स्केल करने वाले कॉलम्स की सूची) लेता है.
  • एक for लूप का उपयोग करके सूची के हर कॉलम पर इटरेट करें और उन पर minmax स्केलिंग लागू करें.
  • नए कॉलम्स जुड़ने के साथ डेटाफ़्रेम df को रिटर्न करें.
  • फंक्शन min_max_scaler() को df और कॉलम्स की सूची cols_to_scale पर अप्लाई करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

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()
कोड संपादित करें और चलाएँ