Breiman'ın rastgele ormanı bilgi kazancı veya Gini endeksi kullanıyor mu?


15

Breiman'ın rastgele ormanının (R randomForest paketindeki rastgele orman) bir bölme kriteri (özellik seçimi için kriter) bilgi kazancı veya Gini endeksi olarak kullanılıp kullanılmadığını bilmek ister misiniz? Ben http://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm ve R'deki randomForest paketinin belgelerinde bulmaya çalıştım. Ama bulduğum tek şey Gini indeksinin değişken öneme sahip hesaplama.


Ayrıca randomForest paketindeki rastgele orman ağaçlarının ikili olup olmadığını merak ediyorum.
Birisi

Yanıtlar:


16

A. Liaw tarafından R'deki randomForest paketi, orijinal kodun, kalan bazı fortran kodu ve R sarıcı kodunun bir c-kodu (çevrilmiş) karışımı olan bir portudur. Kırılma noktaları ve mtry değişkenleri arasındaki en iyi bölünmeye karar vermek için kod, gini kazanımına benzer bir puanlama işlevi kullanır:

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

belirli bir özellik olduğu durumlarda , ayrıştırmanın yapılacağı düğümdür ve ve , ayrılmasıyla oluşturulan iki alt düğümdür . , bir düğümdeki öğelerin sayısıdır.N N 1 N 2 N | . |XNN1N2N|.|

Ve , burada düğümdeki kategori sayısıdır KGini(N)=1k=1Kpk2K

Ancak uygulanan puanlama işlevi tam olarak aynı değildir, bunun yerine eşdeğer daha hesaplamalı verimli bir sürümdür. ve | N | karşılaştırılan tüm bölünmeler için sabittir ve bu nedenle atlanır.Gini(N)

Ayrıca bir düğümdeki (1) kare yaygınlık toplamı|N2||N|Gini(N2)|N2|Gini(N2)=|N2|(1k=1Kpk2)=|N2|nclass2,k2|N2|2

burada , 1. düğümdeki hedef-sınıf k'nin sınıf sayısıdır. Uyarıhem aday hem de paydaya yerleştirilir.nclass1,k|N2|

önemsiz sabiti denklemden çıkarmak, böylece en iyi bölünmüş karar, kare sınıfı yaygınlık düğümleri boyut ağırlıklı toplamını en üst düzeye çıkarmaktır ...1

puan = |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

Uygulama aynı zamanda numunelerin klasik olarak yukarı / aşağı ağırlıklandırılmasına da izin verir. Uygulama, bu modifiye gini kazanımını güncellediğinde çok önemlidir, tek bir numuneyi bir düğümden diğerine taşımak çok etkilidir. Örnek bir düğümün adaylayıcılarından / paydalarından çıkarılabilir ve diğerlerine eklenebilir. Birkaç ay önce bir prototip RF yazdım, cahil olarak her kırılma noktası için sıfır gini kazanımından yeniden hesapladım ve bu daha yavaştı :)

Eğer birkaç bölme skoru en iyisi ise, rastgele bir kazanan seçilir.

Bu yanıt, kaynak dosya "randomForest.xxtar.gz / src / classTree.c" satırının 209-250 incelenmesine dayanıyordu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.