Karena kita memiliki gambaran yang jelas tentang apa itu Pohon Keputusan. Kita juga dapat memahami algoritma Random Forest.

Random Forest adalah algoritma ansambel, yang termasuk dalam kelas ansambel yang disebut Agregasi Bootstrap, sering disederhanakan sebagai Bagging.

Apa itu algoritma ansambel? daripada menggunakan algoritma tunggal untuk memprediksi keluaran kita, jika kita menggunakan sekelompok algoritma maka itu disebut ansambel.

Di Pohon Keputusan, kita membangun satu pohon Keputusan dan bergantung padanya untuk memprediksi variabel target/keluaran kita. Sedangkan Random Forest secara internal membangun beberapa pohon keputusan. Untuk mengeluarkan keluaran akhir, ini mempertimbangkan pemungutan suara mayoritas dalam hal klasifikasi. Dalam kasus masalah regresi, Ini merata-ratakan keluaran dari beberapa pohon keputusan.

Tapi, apa gunanya membuat banyak pohon keputusan?kita bisa langsung membuat pohon keputusan, bukan Hutan Acak?bahkan jika kita membangun banyak pohon keputusan, bagaimana keluaran yang berbeda dari pohon keputusan akan berbeda?bukankah semua pohon keputusan akan memberikan hasil? keluaran yang sama padahal masukannya sama? Ya, itulah tangkapannya.

Di Random Forest, kami tidak akan mengekspos semua masukan ke seluruh rangkaian pohon keputusan. Setiap pohon keputusan dibuat berdasarkan sampel data. Ada juga tangkapan lain. Setiap pohon keputusan akan mengambil serangkaian fitur terbatas dari masukan yang diberikan. Artinya, jika satu pohon dibangun dengan mengambil feature-1 , feature-2. Kemudian pohon selanjutnya dibangun dengan mempertimbangkan fitur-2,fitur-3.

Jadi, ada kemungkinan besar bahwa beberapa pohon keputusan individu dapat memberikan keluaran yang berbeda berdasarkan pentingnya fitur dari fitur yang dipilih dalam pohon keputusan spesifik tersebut. Jadi, keluaran akhir dari Random Forest akan menjadi Keluaran yang dikeluarkan oleh mayoritas individu. pohon keputusan.

Hal lain yang perlu dipertimbangkan dalam Random Forest adalah, Dalam Decision Trees kita tidak akan pernah membiarkan pohon kita masuk terlalu dalam karena akan menyebabkan overfitting. Namun di Random Forest hal ini dapat dikompensasi. Bahkan jika masing-masing pohon keputusan bertambah besar sehingga menyebabkan overfit, karena kita melakukan rata-rata/menggeneralisasi overfit, karena kita mengambil suara mayoritas/merata-ratakan pohon keputusan individu. Jadi model Random Forest akhir tidak terlalu fit.

Setelah kita membangun model Random Forest, jika diperlukan kita dapat menyesuaikannya dengan penyesuaian dan bermain dengan parameter hyper. Beberapa parameter hyper yang umum digunakan di Random Forest adalah max_ depth dari masing-masing pohon, jumlah pohon yang harus dipertimbangkan, jumlah fitur yang harus dipertimbangkan. untuk setiap pemisahan. Ada banyak parameter hiper yang tersedia dalam implementasi scikit-learn di RandomForest.