Traffine I/O

Bahasa Indonesia

2022-08-02

Random Forest

Apa itu Random Forest

Random Forest (hutan acak) adalah teknik pembelajaran ensemble yang menggabungkan kekuatan dari beberapa decision tree untuk membuat model yang lebih akurat dan tahan terhadap kesalahan. Pada intinya, teknik ini menggunakan prinsip pembelajaran decision tree dan bagging untuk mengatasi keterbatasan decision tree tunggal, terutama overfitting.

Ide dasar dari Random Forest adalah memanfaatkan "kebijaksanaan kerumunan" untuk membuat keputusan yang lebih baik. Dengan menggabungkan output dari banyak pembelajar lemah (decision tree), Random Forest dapat menciptakan model yang tahan terhadap kesalahan dengan akurasi dan kemampuan generalisasi yang tinggi.

Random Forest telah banyak digunakan dalam berbagai aplikasi, termasuk pengenalan gambar, pemrosesan bahasa alami, dan diagnosis medis, antara lain.

Algoritma Random Forest

Pada bab ini, saya akan menjelajahi algoritma Random Forest, yang mencakup komponen utamanya dan proses pembuatan random forest, serta bagaimana prediksi dibuat.

Randomness Fitur

Aspek kunci yang membedakan Random Forest dari bagging decision tree sederhana adalah pengenalan fitur randomness. Saat membangun setiap decision tree dalam ensemble, pada setiap split, hanya subset acak fitur yang dipertimbangkan. Pemilihan acak fitur ini memperkenalkan keberagaman di antara pohon-pohon individual, mengurangi korelasi di antara mereka dan pada gilirannya, mengurangi varian keseluruhan model.

Jumlah fitur yang akan dipertimbangkan pada setiap split adalah hiperparameter, biasanya dilambangkan sebagai m. Pilihan umum untuk m adalah akar kuadrat dari jumlah total fitur dalam dataset. Dengan memperkenalkan randomness fitur, Random Forest lebih mengurangi overfitting dan meningkatkan generalisasi model.

Out-of-Bag Error

Ketika membangun Random Forest, setiap decision tree dilatih pada subset acak dari data, yang dibuat menggunakan teknik bootstrapping. Bootstrapping adalah proses di mana sampel acak data dipilih dengan penggantian, yang berarti beberapa titik data dapat dipilih lebih dari satu kali, sedangkan yang lain mungkin tidak dipilih sama sekali. Biasanya, sekitar 63% dari titik data asli termasuk dalam setiap sampel bootstrap, meninggalkan 37% sisanya yang membentuk sampel out-of-bag (OOB).

Out-of-bag error memberikan cara yang mudah untuk memperkirakan kinerja model dengan menggunakan sampel OOB untuk validasi. Setiap decision tree dalam ensemble Random Forest diuji pada sampel OOB-nya yang sesuai, yang belum pernah dilihat selama pelatihan. Kesalahan rata-rata dari semua pohon untuk sampel OOB ini dihitung sebagai kesalahan OOB, yang berfungsi sebagai perkiraan tidak bias dari kinerja generalisasi model.

Membangun Random Forest

Algoritma Random Forest melibatkan langkah-langkah berikut untuk membangun random forest:

  1. Tentukan jumlah pohon (n_estimators) yang akan dimasukkan dalam hutan.
  2. Untuk setiap pohon, buat sampel bootstrap dari data pelatihan dengan penggantian.
  3. Latih decision tree pada sampel bootstrap, hanya mempertimbangkan subset acak fitur (m) pada setiap split.
  4. Ulangi langkah 2 dan 3 hingga jumlah pohon yang diinginkan terbentuk.

Setiap decision tree dalam Random Forest dilatih secara independen, sehingga algoritma ini sangat mudah di-paralelkan. Fitur ini memungkinkan Random Forest untuk mengatasi dengan efisien dataset besar dan ruang fitur berdimensi tinggi.

Membuat Prediksi

Setelah Random Forest dibangun, prediksi dibuat dengan menggabungkan prediksi individual dari semua decision tree dalam ensemble. Metode penggabungan tergantung pada tugas yang sedang dihadapi:

  • Untuk tugas klasifikasi, setiap pohon dalam ensemble memberikan suara untuk label kelas. Kelas dengan jumlah suara terbanyak dipilih sebagai prediksi akhir.
  • Untuk tugas regresi, prediksi pohon individual dirata-ratakan untuk mendapatkan prediksi akhir.

Penggabungan prediksi ini membantu mengurangi varian dan meningkatkan akurasi keseluruhan model. Dengan memanfaatkan "kebijaksanaan kerumunan", Random Forest mencapai generalisasi yang lebih baik pada data yang tidak terlihat dibandingkan dengan decision tree individual.

Kelebihan dan Kekurangan Random Forest

Pada bab ini, saya akan membahas berbagai kelebihan dan kekurangan dari Random Forest, menyoroti kekuatan dan kelemahan mereka, serta mengidentifikasi skenario di mana mereka tampil dengan baik dan situasi di mana mereka mungkin bukan pilihan yang ideal.

Kelebihan

  • Akurasi yang Meningkat
    Dengan menggabungkan prediksi dari beberapa decision tree, Random Forest sering mencapai akurasi yang lebih tinggi dan generalisasi yang lebih baik dibandingkan dengan decision tree individual. Pendekatan ensemble mengurangi overfitting dan meningkatkan kinerja model pada data yang tidak terlihat.

  • Keuletan terhadap Noise
    Random Forest kurang sensitif terhadap noise pada data, karena penggabungan prediksi dari beberapa decision tree membantu membatalkan dampak noise pada decision tree individual.

  • Kebermaknaan Fitur
    Random Forest dapat memperkirakan pentingnya fitur individual dalam dataset, memberikan wawasan yang berharga tentang fitur mana yang paling berkontribusi pada prediksi model. Ini dapat berguna dalam seleksi fitur dan memahami hubungan yang mendasar dalam data.

  • Menangani Jenis Data Campuran
    Random Forest dapat menangani data numerik dan kategorikal, membuatnya cocok untuk berbagai aplikasi.

  • Paralelisasi
    Pembangunan pohon individual dalam Random Forest dapat diparalelkan, memungkinkan penanganan dataset besar dan ruang fitur berdimensi tinggi secara efisien.

SensitHyperparameter yang Rendah
Random Forest relatif kurang sensitif terhadap pilihan hyperparameter dibandingkan dengan beberapa algoritma pembelajaran mesin lainnya. Meskipun penyetelan hyperparameter dapat membantu mengoptimalkan model, Random Forest umumnya tampil dengan baik dengan pengaturan hyperparameter default.

Kekurangan

  • Kebermaknaan Model
    Meskipun decision tree individual mudah diinterpretasikan, Random Forest kehilangan sebagian kebermaknaan ini karena sifat ensemble dari model. Memahami dasar dari prediksi Random Forest bisa lebih menantang dibandingkan dengan decision tree tunggal.

  • Kompleksitas Komputasi
    Pembangunan beberapa decision tree dalam Random Forest dapat menjadi mahal secara komputasi, terutama untuk dataset besar dengan banyak fitur. Meskipun paralelisasi dapat mengurangi hal ini sampai batas tertentu, Random Forest mungkin masih lebih lambat dalam melatih dibandingkan dengan model yang lebih sederhana, seperti regresi linear atau regresi logistik.

  • Persyaratan Memori
    Random Forest memerlukan lebih banyak memori dibandingkan dengan decision tree tunggal, karena mereka perlu menyimpan informasi tentang beberapa pohon dalam ensemble.

  • Tidak Ideal untuk Prediksi Real-time
    Karena kompleksitas komputasi dalam menggabungkan prediksi dari beberapa decision tree, Random Forest mungkin bukan pilihan terbaik untuk aplikasi yang membutuhkan prediksi real-time.

Aplikasi Random Forest

Random Forest adalah teknik pembelajaran mesin yang serbaguna dan kuat dengan berbagai aplikasi di berbagai domain. Pada bab ini, saya akan membahas beberapa kasus penggunaan umum untuk Random Forest, mengilustrasikan efektivitas mereka dalam tugas dan industri yang berbeda.

  • Klasifikasi dan Regresi
    Random Forest dapat digunakan untuk tugas klasifikasi dan regresi, sehingga cocok untuk memprediksi label kelas diskrit dan nilai target yang kontinu. Contoh dari tugas klasifikasi termasuk deteksi spam email, prediksi pelanggan yang beralih, dan diagnosis medis, sementara tugas regresi dapat melibatkan memprediksi harga rumah, harga saham, atau nilai seumur hidup pelanggan.

  • Kebermaknaan Fitur
    Salah satu kekuatan dari Random Forest adalah kemampuannya untuk memperkirakan pentingnya fitur individual dalam dataset. Ini dapat berguna dalam memahami fitur mana yang paling berkontribusi pada prediksi model, membantu dalam seleksi fitur, dan mengungkapkan hubungan yang mendasari dalam data. Kebermaknaan fitur dapat menjadi sangat berharga dalam dataset berdimensi tinggi, di mana mengurangi jumlah fitur dapat meningkatkan efisiensi komputasi dan kebermaknaan model.

  • Deteksi Anomali
    Random Forest dapat digunakan untuk deteksi anomali, mengidentifikasi titik data yang sangat berbeda dari norma. Dengan membangun model Random Forest dan mengukur jarak rata-rata antara titik data yang diberikan dan simpul daun decision tree, adalah mungkin untuk memperkirakan normalitas titik data. Titik data dengan jarak rata-rata yang lebih tinggi dapat dianggap sebagai anomali potensial. Pendekatan ini dapat diterapkan untuk mendeteksi kecurangan dalam transaksi keuangan, mengidentifikasi outlier dalam data sensor, atau mendeteksi pola yang tidak biasa dalam lalu lintas jaringan.

  • Penginderaan Jauh dan Klasifikasi Citra
    Random Forest telah berhasil diterapkan untuk tugas penginderaan jauh dan klasifikasi citra, di mana mereka dapat menangani ruang fitur berdimensi tinggi dan membedakan antara berbagai jenis tutupan lahan, seperti daerah perkotaan, hutan, dan perairan. Kelebihan mereka terhadap noise dan kemampuan mereka dalam menangani tipe data campuran membuat mereka cocok untuk menganalisis citra satelit dan data penginderaan jauh lainnya.

  • Pemrosesan Bahasa Alami
    Dalam pemrosesan bahasa alami (NLP), Random Forest dapat digunakan untuk tugas seperti analisis sentimen, klasifikasi topik, dan pengenalan entitas bernama. Dengan mengekstraksi fitur yang relevan dari data teks, Random Forest dapat secara efektif mengklasifikasikan dokumen atau kalimat berdasarkan konten atau sentimen mereka.

Referensi

https://www.tibco.com/reference-center/what-is-a-random-forest
https://serokell.io/blog/random-forest-classification
https://medium.com/analytics-vidhya/random-forest-classifier-and-its-hyperparameters-8467bec755f6
https://builtin.com/data-science/random-forest-algorithm
https://www.youtube.com/watch?v=J4Wdy0Wc_xQ&ab_channel=StatQuestwithJoshStarmer
https://www.youtube.com/watch?v=v6VJ2RO66Ag&t=8s&ab_channel=NormalizedNerd

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!