चूंकि मशीन सीखने सुविधाओं और मॉडलों के साथ प्रयोग करने के बारे में अधिक है, इसलिए आपके प्रश्न का कोई सही जवाब नहीं है। आप करने के लिए अपने सुझावों में से कुछ होगा:
1. फ़ीचर स्केलिंग और/या सामान्यीकरण - अपने जीआरई और जीपीए सुविधाओं के तराजू की जाँच करें। वे परिमाण के 2 आदेशों पर भिन्न होते हैं। इसलिए, आपकी gre सुविधा लॉजिस्टिक रीग्रेशन जैसे क्लासिफायरफायर में दूसरों पर हावी हो जाएगी। मशीन मशीन सीखने के मॉडल में रखने से पहले आप अपनी सभी सुविधाओं को एक ही पैमाने पर सामान्यीकृत कर सकते हैं। This विज्ञान-सीखने में उपलब्ध विभिन्न फीचर स्केलिंग और सामान्यीकरण कक्षाओं पर एक अच्छी मार्गदर्शिका है।
2. कक्षा असंतुलन - अपने डेटा में कक्षा असंतुलन की तलाश करें। चूंकि आप डेटा स्वीकार/अस्वीकार करने के साथ काम कर रहे हैं, तो अस्वीकृति की संख्या स्वीकार से काफी अधिक होगी। SkLearn में अधिकांश क्लासिफायरों सहित LogisticRegression
में class_weight
पैरामीटर है। कक्षा असंतुलन के मामले में balanced
पर सेट करना भी अच्छा काम कर सकता है।
3. अनुकूलन अन्य स्कोर - आप अन्य मैट्रिक्स पर अनुकूलन कर सकते हैं भी इस तरह के के रूप में प्रवेश करें घटाने और एफ 1-स्कोर। कक्षा असंतुलन के मामले में एफ 1-स्कोर उपयोगी हो सकता है। This एक अच्छी गाइड है जो स्कोरिंग के बारे में और बात करती है।
4. हाइपरपेरामीटर ट्यूनिंग - ग्रिड खोज - आप अपने मॉडल के हाइपरपेरामीटर को ट्यून करने के लिए ग्रिड खोज करके अपनी सटीकता में सुधार कर सकते हैं। उदाहरण के लिए LogisticRegression
के मामले में, पैरामीटर C
एक हाइपरपेरामीटर है। साथ ही, आपको ग्रिड खोज के दौरान परीक्षण डेटा का उपयोग करने से बचना चाहिए। इसके बजाय पार सत्यापन प्रदर्शन करते हैं। अपने अंतिम मॉडल के लिए अंतिम संख्या की रिपोर्ट करने के लिए केवल अपने परीक्षण डेटा का उपयोग करें। कृपया ध्यान दें कि आपके द्वारा प्रयास किए जाने वाले सभी मॉडलों के लिए ग्रिडशर्च किया जाना चाहिए क्योंकि तब आप केवल यह बताने में सक्षम होंगे कि आप प्रत्येक मॉडल से सबसे अच्छा क्या प्राप्त कर सकते हैं। Scikit-Learn इस के लिए GridSearchCV
कक्षा प्रदान करता है। This लेख भी एक अच्छा प्रारंभिक बिंदु है।
5. अधिक क्लासिफायरों का अन्वेषण करें - लॉजिस्टिक रीग्रेशन एक रैखिक निर्णय सतह सीखता है जो आपकी कक्षाओं को अलग करता है। यह संभव हो सकता है कि आपके 2 वर्ग रैखिक रूप से अलग नहीं हो सकते हैं। ऐसे मामले में आपको अन्य क्लासिफायरों को ऐसे Support Vector Machines पर देखने की आवश्यकता हो सकती है जो अधिक जटिल निर्णय सीमाएं सीखने में सक्षम हैं। आप ट्री-आधारित क्लासिफायर जैसे Decision Trees पर भी देखना शुरू कर सकते हैं जो आपके डेटा से नियम सीख सकते हैं। उनको इफ-एल्से नियमों की एक श्रृंखला के रूप में सोचें जो एल्गोरिदम स्वचालित रूप से डेटा से सीखता है। अक्सर, निर्णय पेड़ के साथ Bias-Variance Tradeoff सही प्राप्त करना मुश्किल है, इसलिए यदि आपके पास पर्याप्त मात्रा में डेटा है तो मैं आपको Random Forests पर देखने की सलाह दूंगा।
6. त्रुटि विश्लेषण - अपने प्रत्येक मॉडल के लिए, वापस जाएं और उन मामलों को देखें जहां वे असफल हो रहे हैं। आप यह पता लगाना समाप्त कर सकते हैं कि आपके कुछ मॉडल पैरामीटर स्पेस के एक हिस्से पर अच्छी तरह से काम करते हैं जबकि अन्य अन्य हिस्सों पर बेहतर काम करते हैं। यदि यह मामला है, तो Ensemble Techniques जैसे VotingClassifier
तकनीकें अक्सर सर्वोत्तम परिणाम देती हैं। मॉडल जो किगेल प्रतियोगिताओं को जीतते हैं वे कई बार मॉडल बनाते हैं।
7. अधिक सुविधाएं _ यदि यह सब विफल हो जाता है, तो इसका मतलब है कि आपको और अधिक सुविधाएं तलाशना शुरू करना चाहिए।
आशा है कि मदद करता है!
स्रोत
2016-06-28 17:59:34
आप लॉजिस्टिक रिग्रेशन के सी पैरामीटर को ट्यून करके शुरू कर सकते हैं। आप एसवीएम और पेड़ों जैसे विभिन्न वर्गीकरण विधियों को भी आजमा सकते हैं। – geompalik
आपको अपने परीक्षण सेट पर सटीकता को अनुकूलित करने का प्रयास नहीं करना चाहिए। आपको प्रशिक्षण सेट पर अनुकूलित करना चाहिए और विधि के ऑब्जेक्ट मूल्यांकन के रूप में परीक्षण सेट का उपयोग करना चाहिए। क्या आप प्रशिक्षण सेट के आधार पर सटीकता स्कोर दिखाने के लिए अपना उत्तर संपादित कर सकते हैं? – ncfirth
हाय, प्रशिक्षण सेट के आधार पर सटीकता जोड़ा गया है। –