स्किकिट-लर्न का रैखिक प्रतिगमन मॉडल उपयोगकर्ताओं को अवरोधन को अक्षम करने की अनुमति देता है। तो एक-हॉट एन्कोडिंग के लिए, मुझे हमेशा fit_intercept = False सेट करना चाहिए? डमी एन्कोडिंग के लिए, fit_intercept को हमेशा True पर सेट किया जाना चाहिए? मुझे वेबसाइट पर कोई "चेतावनी" नहीं दिख रही है।
एक-गर्म एन्कोडिंग के साथ एक अनियमित रैखिक मॉडल के लिए, हां, आपको झूठे होने के लिए अवरोधन स्थापित करने की आवश्यकता है या फिर सही संपुटितता को उकसाएं। sklearn
एक रिज संकोचन दंड के लिए भी अनुमति देता है, और उस मामले में यह आवश्यक नहीं है, और वास्तव में आपको अवरोधन और सभी स्तरों को शामिल करना चाहिए। डमी एन्कोडिंग के लिए आपको एक अवरोधक शामिल करना चाहिए, जब तक कि आपने अपने सभी चर को मानकीकृत नहीं किया है, जिस स्थिति में अवरोधन शून्य है।
चूंकि एक-हॉट एन्कोडिंग अधिक चर उत्पन्न करता है, क्या इसमें डमी एन्कोडिंग की तुलना में अधिक स्वतंत्रता है?
अवरोधन स्वतंत्रता की एक अतिरिक्त डिग्री है, इसलिए एक अच्छी तरह से निर्दिष्ट मॉडल में यह सब बराबर होता है।
दूसरे के लिए, यदि k श्रेणीबद्ध चर हैं तो क्या होगा? k चर डमी एन्कोडिंग में हटा दिए जाते हैं। क्या आजादी की डिग्री अभी भी वही है?
आप एक मॉडल को फिट नहीं कर सकते हैं जिसमें आपने दोनों श्रेणी के वैरिएबल के सभी स्तरों का उपयोग किया हो , अवरोधन या नहीं। जैसे ही, जैसे ही आप मॉडल में एक चर में सभी स्तरों को एक-हॉट-एन्कोडेड करते हैं, बाइनरी वैरिएबल साथ कहते हैं , तो आपके पास निरंतर वेक्टर के बराबर भविष्यवाणियों का एक रैखिक संयोजन होता हैएक्स1, एक्स2, ... , एक्सn
एक्स1+ x2+ ⋯ + एक्सn= 1
यदि आप फिर किसी अन्य श्रेणी सभी स्तरों को मॉडल में दर्ज करने का प्रयास करते हैं, तो आप एक अलग वेक्टर के बराबर एक अलग रैखिक संयोजन के साथ समाप्त होते हैंx′
x′1+x′2+⋯+x′k=1
और इसलिए आपने एक रैखिक निर्भरता बनाई है
x1+x2+⋯xn−x′1−x′2−⋯−x′k=0
तो आपको दूसरे चर में एक स्तर छोड़ना होगा , और सब कुछ ठीक से ऊपर हो जाएगा।
कहें, मेरे पास 3 श्रेणीगत चर हैं, जिनमें से प्रत्येक के 4 स्तर हैं। डमी एन्कोडिंग में, 3 * 4-3 = 9 चर एक अवरोधन के साथ बनाए जाते हैं। एक-गर्म एन्कोडिंग में, 3 * 4 = 12 चर एक अवरोधन के बिना बनाए जाते हैं। क्या मैं सही हूँ?
दूसरी बात वास्तव में काम नहीं करती है। कॉलम डिजाइन मैट्रिक्स आपके द्वारा बनाए गए विलक्षण हो जाएगा। आपको अपने डिज़ाइन की गैर-विलक्षणता को पुनर्प्राप्त करने के लिए, तीन अलग-अलग श्रेणीगत एन्कोडिंगों में से एक से तीन कॉलम निकालने होंगे।3×4=12