वन-हॉट एनकोडिंग
संयुक्त राज्य अमेरिका में आप कहाँ रहते हैं, यह तय करता है कि आपके बच्चे किन स्कूलों में पढ़ सकते हैं. इसलिए यह स्वाभाविक है कि बहुत से लोग इस बात की परवाह करते हैं कि उनका भविष्य का घर किस स्कूल डिस्ट्रिक्ट में होगा. हालाँकि 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)