क्या ब्रेमेन का यादृच्छिक वन सूचना लाभ या गिन्नी इंडेक्स का उपयोग करता है?


15

मैं जानना चाहूंगा कि क्या ब्रिमन का रैंडम फॉरेस्ट (R randomForest package में रैंडम फॉरेस्ट) एक स्प्लिटिंग मानदंड (विशेषता चयन के लिए मानदंड) सूचना लाभ या गिन्नी इंडेक्स के रूप में उपयोग करता है? मैंने इसे http://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm और R में यादृच्छिकतम पैकेज के लिए दस्तावेज़ीकरण में खोजने की कोशिश की । लेकिन केवल एक चीज जो मुझे मिली, वह यह है कि क्यूई इंडेक्स का उपयोग किया जा सकता है चर महत्व कंप्यूटिंग।


मुझे यह भी आश्चर्य है कि क्या यादृच्छिक वन में यादृच्छिक वन के पेड़ बाइनरी हैं या नहीं।
किसी को 16

जवाबों:


16

R. A. Liaw द्वारा R में रैंडम फ़ॉरेस्ट पैकेज मूल कोड का एक पोर्ट है जो कुछ शेष फोरट्रान कोड और R आवरण कोड के सी-कोड (अनुवादित) का मिश्रण है। ब्रेक पॉइंट के पार और mtry वैरिएबल्स में ओवरऑल बेस्ट स्प्लिट तय करने के लिए, कोड gini-gain के समान स्कोरिंग फ़ंक्शन का उपयोग करता है:

GiniGain(N,X)=Gini(N)|N1||N|Gini(N1)|N2||N|Gini(N2)

XएनN1N2N|.|

Gini(N)=1k=1Kpk2K

Gini(N)

|N2||N|Gini(N2)|N2|Gini(N2)=|N2|(1k=1Kpk2)=|N2|nclass2,k2|N2|2

nclass1,k|N2|

1

|N1|k=1Kp1,k2+|N2|k=1Kp2,k2=|N1|k=1Knclass1,k2|N1|2+|N2|k=1Knclass2,k2|N2|2 =k=1Knclass2,k21|N1|1+k=1Knclass2,k21|N1|2 =nominator1/denominator1+nominator2/denominator2

The implementation also allows for classwise up/down weighting of samples. Also very important when the implementation update this modified gini-gain, moving a single sample from one node to the other is very efficient. The sample can be substracted from nominators/denominators of one node and added to the others. I wrote a prototype-RF some months ago, ignorantly recomputing from scratch gini-gain for every break-point and that was slower :)

If several splits scores are best, a random winner is picked.

This answer was based on inspecting source file "randomForest.x.x.tar.gz/src/classTree.c" line 209-250

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