Perkenalan

Pernahkah Anda menanyakan serangkaian pertanyaan pada diri sendiri untuk membantu membuat keputusan akhir tentang sesuatu? Mungkin itu keputusan sederhana seperti apa yang ingin Anda makan untuk makan malam. Anda mungkin bertanya pada diri sendiri apakah Anda ingin memasak atau mengambil makanan atau menerima pesan antar. Jika Anda memutuskan untuk memasak, maka Anda perlu mencari tahu jenis masakan apa yang Anda sukai. Dan terakhir, Anda mungkin perlu mencari tahu apakah Anda sudah memiliki semua bahan di lemari es atau perlu pergi ke toko. Menemukan jawaban atas pertanyaan-pertanyaan ini akan membantu Anda mengambil keputusan akhir tentang makan malam malam itu.

Kita semua harus menggunakan proses pengambilan keputusan ini berkali-kali, setiap hari. Dalam dunia pembelajaran mesin, proses ini disebutpohon keputusan. Anda memulai dengan sebuah simpul yang kemudian bercabang ke simpul lain, mengulangi proses ini hingga Anda mencapai sebuah daun. Sebuah node mengajukan pertanyaan untuk membantu mengklasifikasikan data. Sebuah cabang mewakili berbagai kemungkinan yang dapat ditimbulkan oleh simpul ini. Daun adalah ujung dari pohon keputusan, atau simpul yang tidak lagi mempunyai cabang.

Algoritma Hutan Acak terdiri dari pohon keputusan yang berbeda, masing-masing dengan node yang sama, tetapi menggunakan data berbeda yang menghasilkan daun berbeda. Ini menggabungkan keputusan dari beberapa pohon keputusan untuk menemukan jawaban, yang mewakili rata-rata dari semua pohon keputusan tersebut.

Algoritme hutan acak adalah model “pembelajaran yang diawasi”; ia menggunakan data berlabel untuk "mempelajari" cara mengklasifikasikan data yang tidak berlabel. Ini kebalikan dari algoritma K-means Cluster, yang kita pelajari di artikel sebelumnya adalah model pembelajaran tanpa pengawasan. Algoritma Random Forest digunakan untuk menyelesaikan masalah regresi dan klasifikasi, menjadikannya model beragam yang banyak digunakan oleh para insinyur.

Kelebihan:

  • Digunakan untuk masalah regresi dan klasifikasi, menjadikannya model yang beragam.
  • Mencegah overfitting data.
  • Cepat untuk berlatih dengan data pengujian.

Kekurangan:

  • Lambat dalam membuat prediksi setelah model dibuat.
  • Harus mewaspadai outlier dan lubang pada data.

Dalam contoh di atas, kita memiliki tiga pohon keputusan individual yang bersama-sama membentuk Hutan Acak. Random Forest dianggap sebagai “pembelajaran ansambel”, artinya membantu menciptakan hasil yang lebih akurat dengan menggunakan berbagai model untuk sampai pada kesimpulannya. Algoritme ini menggunakan keputusan akhir, atau keputusan akhir, dari setiap node untuk menghasilkan kesimpulannya sendiri. Hal ini meningkatkan akurasi model karena melihat hasil dari banyak pohon keputusan yang berbeda dan menemukan rata-ratanya.

Dimana Menggunakan Hutan Acak

Contoh Regresi

Katakanlah Anda ingin memperkirakan pendapatan rata-rata rumah tangga di kota Anda. Anda dapat dengan mudah menemukan perkiraan menggunakan Algoritma Random Forest. Anda akan memulai dengan mendistribusikan survei yang meminta orang menjawab sejumlah pertanyaan berbeda. Bergantung pada bagaimana mereka menjawab pertanyaan-pertanyaan ini, perkiraan pendapatan rumah tangga akan dihasilkan untuk setiap orang.

Setelah Anda menemukan pohon keputusan dari beberapa orang, Anda dapat menerapkan Algoritma Hutan Acak pada data ini. Anda akan melihat hasil dari setiap pohon keputusan dan menggunakan hutan acak untuk menemukan pendapatan rata-rata di antara semua pohon keputusan. Menerapkan algoritme ini akan memberi Anda perkiraan akurat tentang pendapatan rata-rata rumah tangga orang yang Anda survei.

Contoh Klasifikasi

Contoh kami berikutnya berkaitan dengan data klasifikasi, atau data non-numerik. Katakanlah Anda melakukan riset pasar untuk perusahaan baru yang ingin mengetahui tipe orang seperti apa yang cenderung membeli produk mereka. Anda mungkin akan mulai dengan menanyakan serangkaian pertanyaan kepada sampel orang-orang di pasar sasaran yang sama tentang perilaku pembelian mereka dan jenis produk yang mereka sukai. Berdasarkan jawaban mereka, Anda dapat mengklasifikasikan mereka sebagai calon pelanggan atau bukan calon pelanggan.

Sebelum menerapkan Algoritma Hutan Acak pada hasil ini, Anda perlu melakukan sesuatu yang disebut pengkodean “one-hot”. Hal ini memerlukan pemberian nomor pada variabel kategori untuk menerapkan matematika pada masalah tersebut.

Setelah data dikodekan secara one-hot, matematika dapat diterapkan dan Algoritma Random Forest dapat sampai pada suatu kesimpulan. Jika algoritme menyimpulkan bahwa sebagian besar orang di pasar sasaran ini bukanlah pelanggan potensial, sebaiknya perusahaan memikirkan kembali produk mereka dengan mempertimbangkan tipe orang seperti ini.

Matematika di Balik Hutan Acak

Masalah Regresi

Saat menggunakan Algoritma Random Forest untuk memecahkan masalah regresi, Anda menggunakan mean squared error (MSE) untuk bagaimana data Anda bercabang dari setiap node.

Rumus ini menghitung jarak setiap node dari nilai aktual yang diprediksi, membantu memutuskan cabang mana yang merupakan keputusan terbaik untuk hutan Anda. Di sini, yi adalah nilai titik data yang Anda uji pada node tertentu dan fi adalah nilai yang dikembalikan oleh pohon keputusan.

Masalah Klasifikasi

Saat melakukan Random Forests berdasarkan data klasifikasi, Anda harus tahu bahwa Anda sering menggunakan Indeks Gini, atau rumus yang digunakan untuk memutuskan bagaimana node pada pohon keputusan bercabang.

Rumus ini menggunakan kelas dan probabilitas untuk menentukan Gini setiap cabang pada sebuah node, menentukan cabang mana yang lebih mungkin terjadi. Di sini, pi mewakili frekuensi relatif kelas yang Anda amati dalam kumpulan data dan c mewakili jumlah kelas.

Anda juga dapat menggunakan entropi untuk menentukan bagaimana node bercabang di pohon keputusan.

Entropi menggunakan probabilitas hasil tertentu untuk membuat keputusan tentang bagaimana node harus bercabang. Berbeda dengan indeks Gini, indeks ini lebih intensif matematis karena fungsi logaritma yang digunakan dalam menghitungnya.

Kesimpulan

Penting untuk memahami satu pohon keputusan sebelum Anda dapat sepenuhnya memahami algoritma random forest. Anda harus memahami perbedaan antara simpul, cabang, dan daun, dan bagaimana rumus yang berbeda diterapkan untuk mengambil keputusan akhir.

Jika digunakan dengan benar, algoritme hutan acak bisa sangat berguna dengan semua jenis kumpulan data yang berbeda, baik data regresi atau klasifikasi. Mudah digunakan, cepat untuk dilatih, dan menemukan representasi akurat dari pohon keputusan yang digunakannya.