आर में यादृच्छिक जंगलों के साथ वर्गीकरण के लिए, असंतुलित वर्ग आकारों के लिए कैसे समायोजित किया जाना चाहिए?


17

मैं जिस परियोजना पर काम कर रहा हूं, उसके लिए विभिन्न वर्गीकरण विधियों की खोज कर रहा हूं, और रैंडम वन की कोशिश करने में दिलचस्पी रखता हूं। मैं अपने आप को शिक्षित करने की कोशिश कर रहा हूं जैसे मैं साथ जाता हूं, और सीवी समुदाय द्वारा प्रदान की गई किसी भी मदद की सराहना करेगा।

मैंने अपने डेटा को प्रशिक्षण / परीक्षण सेटों में विभाजित किया है। R में यादृच्छिक जंगलों के साथ प्रयोग (randomForest पैकेज का उपयोग करके) से, मुझे अपने छोटे वर्ग के लिए उच्च गर्भपात दर के साथ परेशानी हो रही है। मैंने असंतुलित डेटा पर यादृच्छिक जंगलों के प्रदर्शन के विषय में इस पेपर को पढ़ा है , और लेखकों ने यादृच्छिक जंगलों का उपयोग करते समय वर्ग असंतुलन से निपटने के साथ दो तरीके प्रस्तुत किए।

1. भारित यादृच्छिक वन

2. संतुलित रैंडम वन

R पैकेज कक्षाओं के भार को अनुमति नहीं देता है (R सहायता मंचों से, मैंने पढ़ा है कि classwt पैरामीटर ठीक से प्रदर्शन नहीं कर रहा है और भविष्य बग फिक्स के रूप में निर्धारित है), इसलिए मुझे विकल्प 2 के साथ छोड़ दिया गया है। मैं निर्दिष्ट करने में सक्षम हूं यादृच्छिक वन के प्रत्येक पुनरावृत्ति के लिए प्रत्येक वर्ग से नमूना की गई वस्तुओं की संख्या।

मैं यादृच्छिक जंगलों के लिए समान नमूना आकार स्थापित करने के बारे में असहज महसूस करता हूं, जैसा कि मुझे लगता है कि मैं भविष्य के डेटा के साथ खराब प्रदर्शन के लिए अग्रणी बड़े वर्ग के बारे में बहुत अधिक जानकारी खो सकता हूं। बड़े वर्ग के डाउनसमलिंग में सुधार होने पर गर्भपात की दर में सुधार हुआ है, लेकिन मैं सोच रहा था कि क्या यादृच्छिक जंगलों में असंतुलित वर्ग आकारों से निपटने के अन्य तरीके थे?


1
अम भी इसी तरह की समस्या का सामना कर रहा है। क्या आप भारित रैंडम फ़ॉरेस्ट और मीट्रिक आधारित रैंडम फ़ॉरेस्ट के लिए स्क्रिप्ट प्रदान कर सकते हैं, यदि आपके पास है ?? आपके उत्तर की प्रतीक्षा में

जवाबों:


5

यदि आप उन विकल्पों को पसंद नहीं करते हैं, तो क्या आपने इसके बजाय एक बूस्टिंग विधि का उपयोग करने पर विचार किया है? एक उचित नुकसान के कार्य को देखते हुए, स्वचालित रूप से वजन बढ़ जाता है, क्योंकि यह साथ-साथ बढ़ता है। यदि यादृच्छिक जंगलों की स्टोकेस्टिक प्रकृति आपको अपील करती है, तो स्टोकेस्टिक ढाल को बढ़ाने के साथ-साथ निर्माण भी होता है।


हाय डेविड, सुझाव के लिए धन्यवाद। यादृच्छिक जंगलों के साथ संयोजन में / बढ़ाने के लिए संभव होगा? इसके अलावा, मैंने पढ़ा है कि शोर डेटा के साथ बूस्टिंग लागू नहीं हो सकता है। जिन डेटा के साथ मैं काम कर रहा हूं उनमें कई "शोर" चर शामिल हैं- मैं वर्तमान में सुविधा चयन के बिना यादृच्छिक जंगलों को चला रहा हूं, असंतुलन से निपटने के लिए बड़े वर्ग को नीचा दिखा रहा हूं। मुझे स्वीकार्य परिणाम मिल रहे हैं (प्रशिक्षण सेट में 85% छोटे वर्ग का और 93% बड़े वर्ग का सही वर्गीकरण), लेकिन सुधार हमेशा स्वागत योग्य हैं।
इलियम

@ जोनाथन मुझे इस बात की अच्छी जानकारी नहीं है कि बेतरतीब जंगलों को बढ़ाने के पहले कितने शोर की आवश्यकता होती है, जो कि विभिन्न बूस्टिंग विधियों को शामिल करते हैं, लेकिन मेरी धारणा यह है कि यह बहुत अधिक है। gbmमें पैकेज Rएक कार्य "वजन" शब्द है, और आप "bag.fraction" शब्द के साथ कम से यादृच्छिक जंगलों में एक बहुत ही इसी तरह के फैशन में अनियमितता बढ़ा सकते हैं। ऐसा लगता है कि यह एक कोशिश के काबिल है।
डेविड जे। हैरिस

@ डेविड जे.हरिस बूस्टिंग भी वर्ग असंतुलन से ग्रस्त हैं, विशेष रूप से पूर्ण दुर्लभता के मामले में, जब अल्पसंख्यक वर्गों के बारे में जानकारी विरल है
एंटोनी

2

मुझे लगता है कि वेटिंग ऑब्जेक्ट किसी तरह उन्हें नकल करने के बराबर है। हो सकता है कि आपको अपने विभिन्न वर्गों को उचित रूप से नमूना करके बूटस्ट्रैप चरण को संशोधित करने का प्रयास करना चाहिए।

0.5


0

बड़ी कक्षाओं के नमूने के बजाय आप छोटी कक्षाओं का विस्तार कर सकते हैं! यदि बड़ी कक्षाओं में कई गुना अधिक अवलोकन होता है तो छोटा, फिर बायसे छोटा होगा। मुझे आशा है कि आप उस सुपरसेट किए गए डेटासेट को संभाल सकते हैं।

आप उन टिप्पणियों के सबसेट की भी पहचान कर सकते हैं जो बड़ी कक्षाओं के बारे में सबसे अधिक जानकारी संभालती हैं, कई संभावित प्रक्रियाएं हैं, मुझे लगता है कि सबसे सरल निकटतम पड़ोसियों की पद्धति पर आधारित है - अवलोकन ने पड़ोस ग्राफ संरचना संरचना की गारंटी दी है कि नमूना संभावना घनत्व के समान होगा मूल एक।

randomForest को फोरट्रान और c में लिखा गया है, सोर्स कोड उपलब्ध है (http://cran.r-project.org/src/contrib/randomForest_4.6-2.tar.gz) लेकिन मैं उस स्थान को नहीं देख सकता जहाँ उत्साह की गणना की जाती है, ps। ऐसे रैंडमफोर्स जो उत्साह के बजाय गिन्नी का उपयोग करते हैं


बड़े वर्ग में टिप्पणियों के सबसेट को पहचानना एक दिलचस्प विचार की तरह लगता है। परियोजना का दूसरा भाग वास्तव में बड़े वर्ग को छोटे, उपयोगी उपसमूहों में विभेदित कर रहा है जो भविष्य के अध्ययन के लिए उपयोगी हो सकते हैं। कोड में एन्ट्रापी गणना के लिए के रूप में, मैं वास्तव में कोड में delved नहीं किया है और केवल rf के पीछे कुछ सिद्धांत को देखा है, इसलिए मैं उस पर टिप्पणी नहीं कर सकता।
इलियम

मैं बहुत समय पहले उस कोड को संशोधित करना चाहता था, लेकिन उस समय के लिए समय की कमी थी, जो वजन को बढ़ाकर वैचारिक रूप से कठिन था।
Qbik

R में यादृच्छिक वन का उपयोग प्रतिगमन उपकरण के रूप में किया जा सकता है, यह असुरक्षित वर्गीकरण के लिए भी उपयोगी है। मैं बहुत पहले यादृच्छिक कोड को संशोधित करना चाहता था, लेकिन इसके लिए समय की कमी थी, वज़न को कम करना वैचारिक रूप से कठिन था। समय से पहले मैं अपने बारे में सोच रहा था कि कैसे बेतरतीब क्लस्टरिंग के लिए यादृच्छिक वन का उपयोग किया जाए और मुझे एक विचार मिला, लेकिन यह परीक्षण नहीं किया कि अभी तक, दुर्भाग्य से यह बल्कि कम्प्यूटेशनल रूप से मांग कर रहा है - अंक 2।
Qbik

0

(1) आप सही हैं वेटिंग फ़ंक्शन काम नहीं करता है और निश्चित नहीं है कि यह कभी भी तय किया गया है।

(2) संतुलित डेटा वाले अधिकांश विकल्प 2 का उपयोग करें। बहुत अधिक डेटा नहीं खोने की कुंजी स्तरीकृत नमूनाकरण है। आप बेतरतीब ढंग से प्रत्येक पेड़ के लिए एक अद्वितीय संतुलित सेट का नमूना लेते हैं।


0

सिंथेटिक अल्पसंख्यक अति-नमूनाकरण (SMOTE) अल्पसंख्यक वर्ग की नई टिप्पणियों को पड़ोसी टिप्पणियों के यादृच्छिक उत्तल संयोजनों के रूप में उत्पन्न करता है। पेपर यहाँ है: https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-14-106

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