2015-06-12 12 views
13

मेरे पास कक्षा असंतुलन समस्या है और विज्ञान-सीख (> = 0.16) में कार्यान्वयन का उपयोग करके भारित रैंडम वन के साथ प्रयोग कर रहा है।scikit-learn: यादृच्छिक वन class_weight और sample_weight पैरामीटर

मैंने देखा कार्यान्वयन पेड़ निर्माता में एक class_weight पैरामीटर और फिट विधि में sample_weight पैरामीटर लेता है उस वर्ग असंतुलन को हल करने की है। अंतिम वजन तय करने के लिए उन दोनों को गुणा किया जाना प्रतीत होता है।

मैं मुसीबत समझ है निम्नलिखित:

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

उत्तर

11

यादृच्छिक पेड़ पर बने हैं, जो बहुत अच्छी तरह से प्रलेखित हैं। जांच करें कि पेड़ नमूना भार का उपयोग करें:

  • User guide on decision trees - बताता है कि वास्तव में क्या एल्गोरिथ्म
  • Decision tree API प्रयोग किया जाता है - बताते हैं कि कैसे sample_weight पेड़ (जो यादृच्छिक वन, के रूप में आप निर्धारित किया है के लिए, class_weight का उत्पाद है द्वारा किया जाता है और नमूना_वेट)।

class_weight और sample_weight बीच अंतर के लिए के रूप में: ज्यादा उनके डेटाटाइप्स की प्रकृति द्वारा बस निर्धारित किया जा सकता। sample_weight 1 डी सरणी लंबाई n_samples है, जो प्रशिक्षण के लिए उपयोग किए गए प्रत्येक उदाहरण को स्पष्ट वजन प्रदान करता है। class_weight या तो कक्षा के लिए एक समान वजन के लिए प्रत्येक वर्ग का एक शब्दकोश है (उदाहरण के लिए, {1:.9, 2:.5, 3:.01}), या यह एक स्ट्रिंग कह रहा है कि इस शब्दकोश को स्वचालित रूप से कैसे निर्धारित किया जाए।

तो किसी दिए गए उदाहरण के लिए प्रशिक्षण वजन यह उत्पाद स्पष्ट रूप से sample_weight नामक (या 1 अगर sample_weight प्रदान नहीं की है) है, और यह class_weight (या 1 अगर class_weight प्रदान नहीं की है) है।

+0

आप मूल वर्गीकरण के रूप में डीटी के बारे में सही हैं। मुझे यह भी रूचि है कि प्रशिक्षण के दौरान उन वजन का उपयोग कैसे किया जाता है (उदाहरण के लिए निर्णय नोड इत्यादि की अशुद्धता का निर्णय लेना) और भविष्यवाणी के दौरान। – user36047

+0

'फिट()' विधि: [निर्णय पेड़ एपीआई] (http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html#sklearn के तहत 'sample_weight' के लिए प्रलेखन देखें। पेड़। DecisionTreeClassifier) ​​ – Andreus

+0

हालांकि यह क्रिस्टल स्पष्ट नहीं है, मुझे लगता है कि जब मैं लिंक में सामग्री को पचता हूं तो सबकुछ स्पष्ट होगा :) – user36047

संबंधित मुद्दे