मैं एक LASSO चला रहा हूं जिसमें कुछ श्रेणीबद्ध चर भविष्यवाणियां हैं और कुछ निरंतर हैं। मेरे पास श्रेणीबद्ध चर के बारे में एक प्रश्न है। पहला चरण जो मैं समझता हूं कि उनमें से प्रत्येक को डमी में तोड़ना है, उन्हें उचित दंड के लिए मानकीकृत करना है, और फिर पुनः प्राप्त करना है। डमी चर के इलाज के लिए कई विकल्प हैं:
संदर्भ कारक स्तर के रूप में उस एक को छोड़कर, प्रत्येक कारक के लिए सभी डमी में से एक को शामिल करें। एक डमी गुणांक की व्याख्या बहिष्कृत "संदर्भ" श्रेणी के सापेक्ष है। अवरोधन अब संदर्भ श्रेणी के लिए माध्य प्रतिक्रिया है।
प्रत्येक कारक में चर को समूहित करें ताकि वे या तो सभी को बाहर कर दें या सभी को छोड़ दें, लेकिन एक को शामिल किया गया है। मुझे विश्वास है कि @Glen_b यहाँ क्या सुझाव दे रहा है :
आम तौर पर, हाँ, आप अपने कारकों को एक साथ रखते हैं। कई R संकुल हैं जो यह कर सकते हैं, जिसमें glmnet भी शामिल है
सभी स्तरों को शामिल करें, जैसा कि @Andrew M द्वारा सुझाया गया है :
आप डिफ़ॉल्ट कॉन्ट्रास्ट फ़ंक्शन को भी बदलना चाह सकते हैं, जो डिफ़ॉल्ट रूप से प्रत्येक कारक (उपचार कोडिंग) के एक स्तर को छोड़ देता है। लेकिन लासो दंड के कारण, यह अब पहचान के लिए आवश्यक नहीं है, और वास्तव में चयनित चर की व्याख्या को और अधिक जटिल बनाता है। ऐसा करने के लिए, सेट करें
contr.Dummy <- function(contrasts, ...){ conT <- contr.treatment(contrasts=FALSE, ...) conT } options(contrasts=c(ordered='contr.Dummy', unordered='contr.Dummy'))
अब, किसी भी कारक के स्तर का चयन किया जाता है, आप यह सुझाव दे सकते हैं कि ये विशिष्ट स्तर मायने रखते हैं, बनाम सभी छोड़े गए स्तर। मशीन लर्निंग में, मैंने इस कोडिंग को वन-हॉट एन्कोडिंग के रूप में देखा है।
प्रशन:
- इन दृष्टिकोणों में से प्रत्येक के तहत अवरोधन और गुणांक की व्याख्या क्या है ?
- उनमें से किसी एक को चुनने में क्या विचार शामिल हैं?
- क्या हम डमी गुणांक को अन-स्केल करते हैं और फिर उन्हें दूर से जाने के बदलाव के रूप में व्याख्या करते हैं?