Semua yang Perlu Anda Ketahui Tentang Optimasi Algoritma Random Forest

Diterbitkan: 2020-12-22

Misalkan Anda telah membuat program pembelajaran mesin dan menggunakan model hutan acak untuk melatihnya. Namun, output/hasil program tidak seakurat yang Anda inginkan. Jadi apa yang kamu lakukan?

Ada tiga metode untuk meningkatkan model pembelajaran mesin untuk meningkatkan output dari program pembelajaran mesin:

  • Tingkatkan kualitas data input dan rekayasa fitur
  • Penyetelan hyperparameter dari algoritma
  • Menggunakan algoritma yang berbeda

Namun bagaimana jika Anda sudah menggunakan semua sumber data yang tersedia? Langkah logis selanjutnya adalah penyetelan hyperparameter. Jadi, jika Anda telah membuat program pembelajaran mesin dengan model hutan acak, menggunakan sumber data terbaik, dan ingin meningkatkan output program lebih lanjut, Anda harus memilih penyetelan hyperparameter hutan acak .

Sebelum kita mempelajari penyetelan hyperparameter hutan acak , pertama-tama mari kita lihat penyetelan hyperparameter dan hyperparameter secara umum.

Daftar isi

Apa itu Hyperparameter?

Dalam konteks pembelajaran mesin, hiperparameter adalah parameter yang nilainya digunakan untuk mengontrol proses pembelajaran model. Mereka berada di luar model, dan nilainya tidak dapat diperkirakan dari data.

Untuk penyetelan hyperparameter hutan acak , hyperparameter mencakup jumlah pohon keputusan dan jumlah fitur yang dipertimbangkan oleh setiap pohon selama pemisahan simpul.

Apa itu Penyetelan Hyperparameter?

Penyetelan hyperparameter adalah proses mencari kumpulan hyperparameter yang ideal untuk masalah pembelajaran mesin.

Sekarang kita telah melihat apa itu hyperparameters dan hyperparameter tuning, mari kita lihat hyperparameters di random forest dan random forest hyperparameter tuning .

Baca: Pertanyaan Wawancara Pohon Keputusan

Apa itu Penyetelan Hyperparameter Hutan Acak?

Untuk memahami apa itu penyetelan hyperparameter hutan acak , kita akan melihat lima hyperparameter dan penyetelan hyperparameter untuk masing-masing.

Hyperparameter 1: max_depth

max_depth adalah jalur terpanjang antara simpul akar dan simpul daun di pohon dalam algoritma hutan acak. Dengan menyetel hyperparameter ini, kita dapat membatasi kedalaman yang kita inginkan untuk menumbuhkan pohon dalam algoritme hutan acak. Hyperparameter ini mengurangi pertumbuhan pohon keputusan dengan bekerja pada tingkat makro.

Hyperparameter 2: max_terminal_nodes

Hyperparameter ini membatasi pertumbuhan pohon keputusan di hutan acak dengan menetapkan kondisi pada pemisahan node di pohon. Pemisahan node akan berhenti, dan pertumbuhan pohon akan berhenti jika ada node terminal lebih dari jumlah yang ditentukan setelah pemisahan.

Sebagai contoh, mari kita anggap bahwa kita memiliki satu simpul di pohon, dan simpul terminal maksimum diatur ke empat. Karena hanya ada satu simpul, untuk memulainya, simpul tersebut akan dipecah, dan pohon akan tumbuh lebih jauh. Setelah pemisahan mencapai batas maksimum empat, pohon keputusan tidak akan tumbuh lebih jauh karena pemisahan akan dihentikan. Menggunakan max_terminal_nodes penyetelan hyperparameter membantu mencegah overfitting. Namun, jika nilai penyetelan sangat kecil, kemungkinan besar hutan akan kurang layak.

Baca Terkait: Klasifikasi Pohon Keputusan

Hyperparameter 3: n_estimator

Seorang ilmuwan data selalu menghadapi dilema tentang berapa banyak pohon keputusan yang harus dipertimbangkan. Orang mungkin mengatakan bahwa memilih lebih banyak pohon adalah cara yang tepat. Ini mungkin benar, tetapi juga meningkatkan kompleksitas waktu dari algoritma hutan acak.

Dengan penyetelan hyperparameter n_estimators, kita dapat menentukan jumlah pohon dalam model hutan acak. Nilai default dari parameter n_estimators adalah sepuluh. Ini berarti bahwa sepuluh pohon keputusan yang berbeda dibangun secara default. Dengan menyetel hyperparameter ini, kita dapat mengubah jumlah pohon yang akan dibangun.

Hyperparameter 4: max_features

Dengan penyetelan hyperparameter ini, kita dapat memutuskan jumlah fitur yang akan disediakan untuk setiap pohon di hutan. Umumnya, jika nilai fitur maks diatur ke enam, kinerja model secara keseluruhan akan menjadi yang tertinggi. Namun, Anda juga dapat mengatur nilai parameter fitur maksimal ke default, yang merupakan akar kuadrat dari jumlah fitur yang ada dalam kumpulan data.

Hyperparameter 5: min_samples_split

Penyetelan hyperparameter ini memutuskan jumlah minimum sampel yang diperlukan untuk membagi simpul daun internal. Secara default, nilai parameter ini adalah dua. Ini berarti bahwa untuk memisahkan simpul internal, setidaknya harus ada dua sampel yang ada.

Bagaimana Melakukan Penyetelan Hyperparameter Hutan Acak?

Anda perlu melakukan penyetelan hyperparameter hutan acak secara manual, dengan memanggil fungsi yang membuat model. Penyetelan hyperparameter hutan acak lebih merupakan pendekatan eksperimental daripada pendekatan teoretis. Dengan demikian, Anda mungkin perlu mencoba berbagai kombinasi penyetelan hyperparameter dan mengevaluasi kinerja masing-masing sebelum memutuskan salah satunya.

Misalnya, Anda harus menyetel jumlah penduga dan pemisahan minimum pohon dalam algoritme hutan acak. Oleh karena itu, Anda dapat menggunakan perintah berikut untuk melakukan penyetelan hyperparameter:

hutan = RandomForestClassifier(keadaan_acak = 1, n_estimator = 20, min_samples_split = 2)

Dalam contoh di atas, jumlah penduga diubah dari nilai default sepuluh menjadi dua puluh. Jadi, alih-alih sepuluh pohon keputusan, algoritme akan membuat dua puluh pohon di hutan acak. Demikian pula, simpul daun internal akan dipecah hanya jika memiliki setidaknya dua sampel.

Kesimpulan

Kami berharap blog ini membantu Anda memahami penyetelan hyperparameter hutan acak . Ada banyak hyperparameter lain yang dapat Anda sesuaikan untuk meningkatkan output dari program pembelajaran mesin. Dalam kebanyakan kasus, penyetelan hyperparameter sudah cukup untuk meningkatkan output dari program pembelajaran mesin.

Namun, dalam kasus yang jarang terjadi, bahkan penyetelan hyperparameter hutan acak mungkin tidak terbukti membantu. Dalam situasi seperti itu, Anda perlu mempertimbangkan algoritme pembelajaran mesin yang berbeda seperti regresi linier atau logistik, KNN, atau algoritme lain apa pun yang Anda anggap cocok.

Jika Anda tertarik untuk mempelajari lebih lanjut tentang pohon keputusan, pembelajaran mesin, lihat PG Diploma IIIT-B & upGrad dalam Pembelajaran Mesin & AI yang dirancang untuk profesional yang bekerja dan menawarkan 450+ jam pelatihan ketat, 30+ studi kasus & tugas , Status Alumni IIIT-B, 5+ proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan-perusahaan top.

Mengapa menggunakan algoritma hutan acak?

Algoritma hutan acak adalah salah satu model yang paling banyak digunakan ketika datang ke kategori algoritma pembelajaran terawasi dalam pembelajaran mesin. Algoritme hutan acak dapat memecahkan masalah klasifikasi dan regresi dalam pembelajaran mesin. Ini difokuskan pada pembelajaran ensemble, konsep yang menggabungkan beberapa pengklasifikasi untuk memecahkan masalah yang rumit sehingga dapat meningkatkan keseluruhan fungsi dan hasil model. Algoritme hutan acak populer karena membutuhkan waktu lebih sedikit untuk pelatihan dibandingkan dengan banyak algoritme lainnya. Ini juga dapat menawarkan perkiraan yang sangat akurat untuk kumpulan data yang sangat besar, bahkan jika beberapa bagian data hilang.

Apa perbedaan antara pohon keputusan dan hutan acak?

Algoritme pohon keputusan adalah teknik pembelajaran terawasi dalam pembelajaran mesin yang memodelkan pohon tunggal yang merupakan serangkaian keputusan berikutnya yang mengarah pada hasil tertentu. Pohon keputusan mudah untuk ditafsirkan dan dipahami. Tetapi seringkali tidak cukup untuk memecahkan masalah yang lebih kompleks. Di sinilah algoritme hutan acak menjadi berguna – ia memanfaatkan beberapa pohon keputusan untuk menyelesaikan masalah tertentu. Dengan kata lain, algoritma hutan acak secara acak menghasilkan beberapa pohon keputusan dan menggabungkan hasilnya untuk menghasilkan hasil akhir. Meskipun hutan acak lebih sulit untuk diinterpretasikan daripada pohon keputusan, ia menghasilkan hasil yang akurat ketika sejumlah besar data dilibatkan.

Apa keuntungan menggunakan algoritma hutan acak?

Keuntungan terbesar menggunakan algoritma hutan acak terletak pada fleksibilitasnya. Anda dapat menggunakan teknik ini untuk tugas klasifikasi dan regresi. Terlepas dari keserbagunaannya, algoritme ini juga sangat berguna – parameter default yang digunakannya cukup efisien untuk menghasilkan akurasi yang tinggi dalam prediksi. Selain itu, model klasifikasi pembelajaran mesin terkenal dengan masalah seperti over-fitting. Jika ada banyak pohon dalam algoritma hutan acak, masalah overfitting dalam klasifikasi dapat dengan mudah diatasi.