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".
scikit-learn
random-forest
denson
sumber
sumber
Jawaban:
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_features
danmin_samples_split
dengan penelusuran kisi yang divalidasi silang).sumber
Pengklasifikasi ExtraTrees selalu menguji pemisahan acak atas sebagian kecil fitur (berbeda dengan RandomForest, yang menguji semua kemungkinan pemisahan atas sebagian kecil fitur)
sumber
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.
sumber