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

वन-हॉट एनकोडिंग

संयुक्त राज्य अमेरिका में आप कहाँ रहते हैं, यह तय करता है कि आपके बच्चे किन स्कूलों में पढ़ सकते हैं. इसलिए यह स्वाभाविक है कि बहुत से लोग इस बात की परवाह करते हैं कि उनका भविष्य का घर किस स्कूल डिस्ट्रिक्ट में होगा. हालाँकि SCHOOLDISTRICTNUMBER में स्कूल डिस्ट्रिक्ट नंबर दिए गए हैं, वे वास्तव में श्रेणीबद्ध (categorical) हैं. यानी इन मानों को जोड़ने या उनका औसत निकालने का कोई स्पष्ट अर्थ नहीं है. इसलिए इस उदाहरण में हम SCHOOLDISTRICTNUMBER को एक श्रेणीबद्ध वैरिएबल से एक न्यूमेरिक वेक्टर में बदलेंगे, जिसे बाद में अपने मशीन लर्निंग मॉडल में उपयोग करेंगे.

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

PySpark के साथ Feature Engineering

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

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

  • SCHOOLDISTRICTNUMBER को इनपुट और School_Index को आउटपुट रखते हुए StringIndexer ट्रांसफॉर्मर को string_indexer नाम से इंस्टैंशिएट कीजिए.
  • ट्रांसफॉर्मर string_indexer को df पर fit() और transform() के साथ लागू कीजिए. ट्रांसफॉर्म किया हुआ डेटाफ़्रेम indexed_df में स्टोर करें.
  • School_Index को इनपुट और School_Vec को आउटपुट रखते हुए OneHotEncoder ट्रांसफॉर्मर encoder बनाइए.
  • indexed_df पर transform() का उपयोग करके ट्रांसफॉर्मेशन लागू कीजिए. सप्लाई किए गए कोड से ट्रांसफॉर्मेशन के स्टेप-बाय-स्टेप परिणाम देखिए.

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

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

from pyspark.ml.feature import OneHotEncoder, StringIndexer

# Map strings to numbers with string indexer
string_indexer = ____(inputCol=____, outputCol=____)
indexed_df = ____.____(df).____(df)

# Onehot encode indexed values
encoder = ____(inputCol=____, outputCol=____)
encoded_df = ____.____(indexed_df)

# Inspect the transformation steps
encoded_df[['SCHOOLDISTRICTNUMBER', 'School_Index', 'School_Vec']].show(truncate=100)
कोड संपादित करें और चलाएँ