RandomForestClassifier vs ExtraTreesClassifier dalam scikit belajar

95

Adakah yang bisa menjelaskan perbedaan antara RandomForestClassifier dan ExtraTreesClassifier di scikit learn. Saya telah menghabiskan sedikit waktu membaca koran:

P. Geurts, D. Ernst., Dan L. Wehenkel, "Pohon yang sangat diacak", Machine Learning, 63 (1), 3-42, 2006

Tampaknya inilah perbedaan untuk ET:

1) Saat memilih variabel secara terpisah, sampel diambil dari seluruh set pelatihan, bukan sampel bootstrap dari set pelatihan.

2) Pemisahan dipilih sepenuhnya secara acak dari kisaran nilai dalam sampel di setiap pemisahan.

Hasil dari dua hal ini adalah lebih banyak "daun".

denson
sumber
7
Alasan saya sangat tertarik dengan extratreeclassifier adalah karena saya mendapatkan hasil yang jauh lebih baik dengan ET pada masalah tertentu. Vektor fitur saya besar> 200 variabel dan variabel sangat berisik. Pengklasifikasi RDF standar mendapatkan hasil yang buruk tetapi ET mendapatkan skor F1> 90%. Kelas-kelas tersebut tidak seimbang dengan relatif sedikit sampel kelas positif dan banyak negatif.
denson
Lihat juga jawaban yang lebih baru ini: stats.stackexchange.com/questions/175523/…
Archie

Jawaban:

59

Ya, kedua kesimpulan tersebut benar, meskipun implementasi Random Forest di scikit-learn memungkinkan untuk mengaktifkan atau menonaktifkan resampling bootstrap.

Dalam praktiknya, RF seringkali lebih kompak daripada ET. ET umumnya lebih murah untuk dilatih dari sudut pandang komputasi tetapi bisa tumbuh jauh lebih besar. ET terkadang dapat menggeneralisasi lebih baik daripada RF tetapi sulit ditebak kapan itu terjadi tanpa mencoba keduanya terlebih dahulu (dan menyetel n_estimators, max_featuresdan min_samples_splitdengan penelusuran kisi yang divalidasi silang).

ogrisel
sumber
21

Pengklasifikasi ExtraTrees selalu menguji pemisahan acak atas sebagian kecil fitur (berbeda dengan RandomForest, yang menguji semua kemungkinan pemisahan atas sebagian kecil fitur)

Muhammad Umar Amanat
sumber
13
Saya terhibur bahwa komentar ini secara harfiah adalah jawaban kata demi kata untuk pertanyaan kuis Coursera
Bob
Ya @Bob itu. Saya menemukan jawaban ini sangat berguna karena itulah saya memposting di sini, ini membantu orang lain dalam memahami perbedaan antara pohon ekstra dan hutan acak.
Muhammad Umar Amanat
3
juga berasal dari kursus yang sama. dan jawaban ini sangat membantu!
killezio
ya @ skeller88 ini tentu saja luar biasa. Anda juga harus melihat di coursera.org/learn/competitive-data-science?specialization=aml
Muhammad Umar Amanat
0

Perbedaan utama antara hutan acak dan pohon tambahan (biasanya disebut hutan acak ekstrim) terletak pada kenyataan bahwa, alih-alih menghitung kombinasi fitur / perpecahan yang optimal secara lokal (untuk hutan acak), untuk setiap fitur yang dipertimbangkan, nilai acak dipilih untuk perpecahan (untuk pohon ekstra). Berikut adalah sumber daya yang bagus untuk mengetahui lebih banyak tentang perbedaan mereka secara lebih rinci. Random forest vs extra tree.

maria_g
sumber
Saya pikir Anda bermaksud menempelkan tautan.
Tomasz Gandor