बड़ी संख्या में सुविधाओं के साथ लॉजिस्टिक प्रतिगमन कैसे करें?


10

मेरे पास 330 नमूनों के साथ एक डेटासेट है और प्रत्येक नमूने के लिए 27 सुविधाएँ, लॉजिस्टिक रिग्रेशन के लिए एक बाइनरी क्लास समस्या है।

"नियम अगर दस" के अनुसार मुझे शामिल होने के लिए प्रत्येक सुविधा के लिए कम से कम 10 घटनाओं की आवश्यकता है। हालाँकि, मेरे पास एक असंतुलित डेटासेट है, जिसमें 20% ओ पॉजिटिव क्लास और 80% निगेटिव क्लास है।

यह मुझे केवल 70 घटनाएं देता है, जो केवल 7/8 सुविधाओं को लॉजिस्टिक मॉडल में शामिल करने की अनुमति देता है।

मैं भविष्यवाणियों के रूप में सभी विशेषताओं का मूल्यांकन करना चाहता हूं, मैं किसी भी सुविधाओं को चुनना नहीं चाहता।

तो आप क्या सुझाव देंगे? क्या मुझे सभी संभव 7 फीचर संयोजन बनाने चाहिए? क्या मुझे एसोसिएशन मॉडल के साथ अकेले प्रत्येक सुविधा का मूल्यांकन करना चाहिए और फिर अंतिम मॉडल के लिए केवल सबसे अच्छे लोगों को चुनना चाहिए?

मैं स्पष्ट और निरंतर सुविधाओं की हैंडलिंग के बारे में भी उत्सुक हूं, क्या मैं उन्हें मिला सकता हूं? यदि मेरे पास एक श्रेणीबद्ध [0-1] और एक निरंतर [0-100] है, तो क्या मुझे सामान्य करना चाहिए?

मैं फिलहाल पायथन के साथ काम कर रहा हूं।

आपकी सहायता के लिए धन्यवाद!


"मैं स्पष्ट और निरंतर सुविधाओं की हैंडलिंग के बारे में भी उत्सुक हूं " मुझे विश्वास है कि एक अलग सवाल होगा। वास्तव में, यह पहले से ही यहाँ पूछा गया है
E4net यहाँ

2
पर्याप्त नमूने नहीं होने और अप्रासंगिक सुविधाओं के बीच अंतर है। मैं कुछ साधारण नियम की वजह से वास्तव में 7 सुविधाओं उठा पर बहुत ज्यादा ध्यान नहीं होता ...
oW_

1
वैसे भी जो आप करते हैं वह करें: नियमितीकरण को अनुकूलित करने के लिए क्रॉस-वेलिडेशन का उपयोग करें। मैं लोचदार नेट (L1 + L2) का सुझाव देता हूं।
इम्रे

जवाबों:


6

अपने मॉडल को 7 चर से कम करने के लिए कुछ दृष्टिकोण हैं जिन्हें आप ले सकते हैं:

  1. पीसीए (अनप्रूव्ड): यह आपके डेटा का "नया" लीनियर कॉम्बिनेशन बनाता है जहां प्रत्येक प्रोसेसिंग कंपोनेंट डेटा में अधिक से अधिक विचरण को समझाता है। तो पहले 7 घटक (27 में से) आपके डेटा में भिन्नता का एक अच्छा प्रतिशत समझाने में सक्षम होना चाहिए। फिर आप इन सात घटकों को अपने लॉजिस्टिक रिग्रेशन समीकरण में प्लग कर सकते हैं। यहां नुकसान यह है कि क्योंकि घटक आपके मूल चर के संयोजन हैं, आप अपने प्रतिगमन मॉडल के साथ कुछ व्याख्या खो देते हैं। हालांकि यह बहुत अच्छी सटीकता का उत्पादन करना चाहिए। इसी तकनीक ने अन्य आयाम घटाने के तरीकों पर लागू किया जैसे कि
  2. प्रतिगमन में एक और आम तरीका आगे की ओर कदम है जहां आप एक चर के साथ शुरू करते हैं और दूसरे चरण में जोड़ते हैं, जिसे या तो कुछ मानदंडों के आधार पर रखा जाता है या गिरा दिया जाता है (आमतौर पर एक बीआईसी या एआईसी स्कोर)। बैकवर्ड स्टेप वाइज रिग्रेशन एक ही बात है लेकिन आप सभी वेरिएबल्स के साथ शुरू करते हैं और प्रत्येक बार कुछ मानदंडों के आधार पर एक बार हटाते हैं। एक संक्षिप्त खोज के आधार पर ऐसा नहीं लगता है कि अजगर के पास एक चरणबद्ध प्रतिगमन है, लेकिन वे इस डेटा विज्ञान पोस्ट में वर्णित एक समान सुविधा उन्मूलन एल्गोरिथ्म करते हैं ।
  3. लासो रिग्रेशन एक पेनल्टीकरण मानदंड का उपयोग करता है जो सुविधाओं के गुणांक को प्रभावी रूप से उनमें से कुछ को समाप्त करता है। आप इस मानदंड को अपने लॉजिस्टिक प्रतिगमन मॉडल में शामिल कर सकते हैं । ऐसा लगता है कि स्केलेरन्स लॉजिस्टिक रीजनेशन आपको यह दंड प्रदान करने की अनुमति देता है जिसे आप इसे प्राप्त करने के लिए चाहते हैं। नोट: लास्सो स्पष्ट रूप से चर गुणांक को शून्य पर सेट नहीं करेगा, लेकिन उन्हें 7 सबसे बड़े गुणांक का चयन करने की अनुमति देगा।एल1एल1

जैसा कि @ E_net4 ने टिप्पणी की, आपके निरंतर प्रश्न को किसी अन्य पोस्ट में संबोधित किया गया है।


5

आप "नियम 10" को भी गंभीरता से ले रहे हैं। यह अंगूठे का एक बहुत मोटा नियम है। इसका उपयोग करने का इरादा नहीं है जैसे आप इसका उपयोग कर रहे हैं।

ऐसा लगता है कि आप सोच रहे हैं: "मेरे पास केवल 70 सकारात्मक उदाहरण हैं, इसलिए 10 के नियम से, मुझे केवल 7 सुविधाओं का उपयोग करने की अनुमति है; मैं कैसे चुनूं कि 7 सुविधाओं का उपयोग करना है?"

10 के नियम का मतलब यह नहीं है। यह कुछ नियम नहीं है जो यह निर्दिष्ट करता है कि आपको कितनी सुविधाओं का उपयोग करने की अनुमति है। 10 का नियम वर्णनात्मक है, प्रिस्क्रिप्टिव नहीं है, और यह एक अनुमानित दिशानिर्देश है: यदि उदाहरणों की संख्या सुविधाओं की संख्या के 10 गुना से बहुत कम है, तो आप विशेष रूप से ओवरफिटिंग के उच्च जोखिम में हैं, और आपको खराब परिणाम मिल सकते हैं।

तो आपको क्या करना चाहिए? आपको वैसे भी करना चाहिए जो आप करते हैं: नियमितीकरण का उपयोग करें, और नियमितीकरण हाइपर-मापदंडों का चयन करने के लिए क्रॉस-वैलिडेशन का उपयोग करें। इसके अलावा, एक होल्ड-आउट टेस्ट सेट होना ज़रूरी है जिसे आप तब तक नहीं छूते जब तक कि आपने क्लासिफायर के बारे में सब कुछ फाइनल नहीं कर दिया हो, ओवरफिटिंग और पक्षपाती सटीकता के अनुमान से बचने के लिए।

और अगर आप अधिक डेटा प्राप्त कर सकते हैं, तो यह वास्तव में मदद करेगा।

अंत में, चूंकि आपके पास असंतुलित कक्षाएं हैं, इसलिए आप इससे निपटने के लिए कक्षा के असंतुलन और तरीकों के बारे में पढ़ने पर विचार कर सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.