Machine Learning: Random Forest Classification

Machine Learning: Random Forest Classification

Catatan penting : Jika Anda benar-benar awam tentang apa itu Python, silakan klik artikel saya ini. Jika Anda awam tentang R, silakan klik artikel ini.

Teknik klasifikasi ini merupakan teknik yang memiliki akurasi cukup tinggi, yaitu random forest classification. Pembahasan mengenai teknik ini mirip seperti random forest regression, hanya saja tujuannya bukan memprediksi sebuah nilai tetapi mengklasifikasikan data.

Teknik ini mengenerate (membuat) banyak decision tree classification, kemudian mengambil keputusan berdasarkan beberapa decision tree yang sudah dibuat. Langkah-langkahnya sebagai berikut:

  1. Pilih beberapa data di training set sebanyak K buah (Jika datanya terlalu sedikit, misal kurang dari 30, tidak perlu dibagi ke dalam training dan test set).
  2. Buat Decision Tree-nya dari K data yang sudah dipilih sebelumnya.
    Pilih jumlah N-tree (kumpulan pohon-pohon) yang ingin dibuat. Selanjutnya ulangi langkah 1 dan 2. Intinya terus membuat decision tree sebanyak-banyaknya (umumnya sebanyak 200 kali, 300, 500, dst).
  3. Untuk dataset yang baru, buat setiap N-tree memprediksi kelompok dari dataset yang baru. Kemudian dataset yang baru akan masuk ke kelompok yang memiliki probabilitas tertinggi dari semua kombinasi N-tree.
Ilustrasi voting yang mirip pengambilan keputusan di random forest

Logika mudahnya kita seperti melakukan sebuah voting (jajak pendapat). Misal kita bingung apakah coklat X ini enak atau tidak. Maka kita bertanda ke 300 orang, pendapat mereka tentang coklat X. Jika lebih dari setengahnya (>50%) mengatakan bahwa coklat X rasanya enak, maka kita bisa mengatakan dia masuk ke kategori enak. Mudah bukan?

Keputusan enak atau tidak adalah 2 kelompok yang berbeda. Sementara jumlah orang sebanyak 300 orang adalah analogi untuk decision tree yang kita kembangkan sebanyak 300 orang. Dan 50% adalah batas (threshold) apakah ia masuk ke kategori A (enak) atau kategori B (tidak enak).


Aplikasi nyata dari teknik ini sangat banyak. Salah satu aplikasi yang futuristik adalah untuk motion detection. Jika pembaca familiar dengan console (alat bermain) Kinect pada Xbox (mirip dengan Nintendo Wii), maka Microsoft menggunakan random forest untuk mendeteksi bagian tubuh sekaligus gerakan tubuh.

Ilustrasi console Kinect Xbox untuk bermain game bola voli tanpa menggunakan sebuah joystick paa umumnya

Jika pembaca ingin mengetahui detail tentang proses penggunaan random forest untuk mendeteksi gerakan tubuh, bisa langsung baca jurnal ilmiah dari Microsoft yang sudah banyak disitasi di link ini.

Sekilas tampilan jurnal ilmiah Kinect sebagai berikut:

Jurnal ilmiah tentang Kinect dari Microsoft
Penggunaan random forest untuk mendeteksi gerakan

Saya tidak akan membahas secara detail jurnal ilmiah tersebut di sini karena pembahasannya sangatlah teknis. Pada dasarnya mereka mengolah satu gambar yang ditangkap oleh sensor kamera, di mana gambarnya memiliki fitur 3D (3 dimensi). Dari situ algoritmanya mengklasifikasikan bagian-bagian tubuh untuk setiap pikselnya hingga akhirnya bisa mengklasifikasikan bagian tubuh, bentuk tubuh, pose badan, baju yang dikenakan dan lain sebagainya. Setelah selesai dengan klasifikasi, hasil klasifikasi tadi diproyeksikan lagi ke dalam bentuk 3D.

Saya akan bahas lebih dalam tentang ini di pembahasan selanjutnya di bagian image recognition. Untuk saat ini. setidaknya saya harap pembaca memahami dasarnya (basic-nya) dulu bahwa random forest adalah teknik yang bisa diaplikasikan untuk melakukan klasifikasi dengan akurasi yang tinggi.

Selanjutnya kita coba mengaplikasikannya untuk memecahkan permasalahan yang nyata.

Untuk melanjutkan membaca silakan klik tombol di bawah ini.

Pages: 1 2 3

Subscribe
Notify of
guest

1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
wilki
wilki
3 years ago

Penjelasannya jelas sekali.. terima kasih Mas Herlambang