बाइनरी क्लासिफिकेशन से आगे
बेशक, बाइनरी क्लासिफिकेशन सिर्फ एक खास केस है. टार्गेट एन्कोडिंग किसी भी टार्गेट वैरिएबल टाइप पर लागू की जा सकती है:
- बाइनरी क्लासिफिकेशन के लिए आमतौर पर मीन टार्गेट एन्कोडिंग उपयोग होती है
- रिग्रेशन के लिए मीन को मीडियन, क्वार्टाइल्स आदि से बदला जा सकता है
- मल्टी-क्लास क्लासिफिकेशन में N क्लास होने पर हम एक-वि.-सब (one-vs-all) तरीके से हर कैटेगरी के लिए टार्गेट मीन वाले N फीचर्स बनाते हैं
आपने जो mean_target_encoding() फंक्शन बनाया है, उसे ऊपर बताए किसी भी टार्गेट टाइप के लिए उपयोग किया जा सकता है. आइए इसे House Prices Kaggle प्रतियोगिता के उदाहरण पर रिग्रेशन समस्या में लागू करें.
आपका लक्ष्य कैटेगरीकल फीचर "RoofStyle" को मीन टार्गेट एन्कोडिंग से एन्कोड करना है. train और test DataFrames आपके वर्कस्पेस में पहले से उपलब्ध हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Kaggle प्रतियोगिता जीतना
अभ्यास निर्देश
mean_target_encoding()फंक्शन कॉल के सभी छूटे हुए पैरामीटर्स निर्दिष्ट कीजिए. टार्गेट वैरिएबल का नाम"SalePrice"है. \(\alpha\) हाइपरपैरामीटर को 10 सेट करें.- याद रखिए कि
trainऔरtestपैरामीटर्स में क्रमशः train और test DataFrames पास किए जाते हैं. - जबकि
targetऔरcategoricalपैरामीटर्स में एन्कोड किए जाने वाले टार्गेट वैरिएबल और फीचर के नाम पास किए जाते हैं.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Create mean target encoded feature
train['RoofStyle_enc'], test['RoofStyle_enc'] = mean_target_encoding(train=train,
test=____,
target='____',
categorical='____',
alpha=____)
# Look at the encoding
print(test[['RoofStyle', 'RoofStyle_enc']].drop_duplicates())