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

नवीन स्तर (Novel levels)

जब किसी श्रेणीबद्ध वैरिएबल का कोई स्तर बहुत दुर्लभ होता है, तो कभी-कभी वह प्रशिक्षण डेटा में दिखता ही नहीं। यदि वही दुर्लभ स्तर आगे के डेटा में आ जाए, तो डाउनस्ट्रीम मॉडल यह नहीं समझ पाते कि उसे कैसे संभालें। ऐसे नवीन स्तर आने पर model.matrix या caret::dummyVars से वन-हॉट-एन्कोड करना सही तरह काम नहीं करता।

vtreat वन-हॉट-एन्कोडिंग के लिए model.matrix का एक "ज्यादा सुरक्षित" विकल्प है, क्योंकि यह नवीन स्तरों को सुरक्षित तरीके से संभाल सकता है। vtreat डेटा में मौजूद मिसिंग वैल्यूज़ (श्रेणीबद्ध और सतत, दोनों) को भी संभालता है।

इस अभ्यास में, आप देखेंगे कि vtreat उन श्रेणीबद्ध मानों को कैसे ट्रीट करता है जो प्रशिक्षण सेट में नहीं थे। पिछले अभ्यास से ट्रीटमेंट प्लान treatplan और वैरिएबल्स का सेट newvars उपलब्ध हैं। dframe और एक नया डेटा फ्रेम testframe पहले से लोड किए गए हैं।

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

R में Supervised Learning: Regression

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

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

  • dframe और testframe प्रिंट करें।
    • क्या testframe में ऐसे colors हैं जो dframe में नहीं थे?
  • prepare() कॉल करके testframe का वन-हॉट-एन्कोडेड संस्करण बनाएँ (बिना outcome के)। इसे testframe.treat नाम दें और प्रिंट करें।
    • केवल newvars वाले वैरिएबल्स तक सीमित करने के लिए varRestriction आर्ग्युमेंट का उपयोग करें।
    • पीली पंक्तियों (yellow rows) को कैसे एन्कोड किया गया है?

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

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

# treatplan is available
summary(treatplan)

# newvars is available
newvars

# Print dframe and testframe
___
___

# Use prepare() to one-hot-encode testframe
(testframe.treat <- ___(___, ___, varRestriction = ___))
कोड संपादित करें और चलाएँ