Decision Making: Random Forest
Artikel ini merupakan bagian dari seri artikel pembelajaran machine learning di Universitas Pelita Harapan yang dikerjakan oleh Elizabeth Florence Wijaya, Hana Nisrina, dan Michael Yulianto Tamba. Dalam seri ini, kami akan membahas mengenai data dan machine learning, bahasa Pandas, linear regression, logistic regression, decision tree, random forest, hingga naive bayes. Pada artikel ini topik utama yang menjadi pembahasan adalah Random Forest.
Apakah kamu pernah berdiskusi untuk mengambil keputusan dengan teman kelompokmu? Saya yakin, banyak dari kita yang pasti sudah sering melakukan hal tersebut, terlebih ketika kita masih berada di bangku sekolah. Kita akan berdiskusi, dan hasil/keputusan yang akan diambil adalah keputusan dari hasil diskusi dan kesepakatan bersama anggota kelompok kita, bukan? Hal tersebut sama halnya dengan pengambilan keputusan ataupun data untuk algoritma Random Forest. Algoritma tersbeut membuktikkan bahwa gabungan dari keputusan kecil justru dapat membantu kita dalam perolehan hasil yang lebih akurat dan adil.
Apa itu Random Forest?
Random Forest adalah algoritma ensemble learning yang terdiri dari banyak decision tree. Pada kasus ini, setiap pohon akan mempelajari data dengan metode yang variatif, dan hasilnya akan dialbil berdasarkan keputusan terbanyak dari keseluruhan pohon yang ada. Melalui metode ini, algoritma Random Forest mampu mengatasi kelemahan yang biasa muncul dalam decision tree, seperti salah satunya overfitting (keputusan yang bias pada data tertentu). Algoritma ini juga menggunakan sekumpulan model yang lemah untuk melatih data tersebut, sehingga nantinya akan digabung dan setelah melalui proses, kumpulan model yang tadinya lemah tersebut nantinya akan menjadi model yang kuat. Atau hal ini dapat kita simpulkan juga dengan istilah “weak learners united to become a strong learner”.
Konsep algoritma ini juga dapat dianalogikan bagaikan penilaian suatu lomba. Mungkin akan terdapat 1 orang juri yang menilai salah, tetapi jika ada 5 juri yang menilai dan yang diambil adalah rata-rata suara terbanyak, maka akan didapatkan hasil yang adil dan akurat. Sama halnya dengan konsep algoritma Random Forest, setiap pohon kecil yang ada di dalamnya bagaikan juri (weak learners), yang nantinya akan menghasilkan keputusan bersama yang kuat (strong learner).
Bagaimana cara kerja Random Forest ?
Proses kerja algoritma ini dimulai dengan membagi dataset yang ada menjadi beberapa bagian kecil secara random. Nantinya, setiap bagian kecil data akan digunakan untuk melatih berbagai decision tree yang dimana tree tersebut akan belajar menggunakan metode ataupun pola yang variatif. Setelah itu, setiap decision tree akan menghasilkan keputusannya masing-masing berdasarkan pelatihan melalui data subset yang sudah mereka lakukan. Pada proses akhir, Random Forest akan menggabungkan seluruh kepurusan tersebut dan memilih keputusan sama terbanyak yang telah dihasilkan oleh setiap decision tree yang ada. Dengan menggunakan algoritma ini, kesalahan atau bias dari satu decision tree dapat ditutupi oleh yang lainnya, sehingga keputusan akhir menjadi lebih stabil, akurat, dan tahan terhadap ketidakseimbangan data.
Get Elizabethflorence’s stories in your inbox
Join Medium for free to get updates from this writer.
Contoh implementasi kode sederhana
Kita dapat menggunakan library scikit-learn yang ada di Python untuk implementasi kode Random Forest.
Kode diatas ini merupakan contoh dari penggunaan Random Forest, dimana parameter n_estimators = 100 berarti kita menginginkan ada 100 decision tree yang akan dibuat dalam algoritma tersebut. Semakin bannyak decision tree, maka keputusan yang dihasilkan juga akan semakin kuat.
Melalui Random Forest, saya dapat melihat bahwa kehidupan manusia juga bekerja dengan cara yang serupa. Manusia bukan makhluk individu yang selalu benar. Kita adalah makhluk sosial, sehingga kita bisa mempelajari sesuatu pastinya harus dengan interaksi dengan banyak orang atau puhak, seperti keluarga, teman, guru. B ahkan pengalaman hidup yang pahit sekalipun. Semua “pohon kehidupan” itu membentuk hutan kebijaksanaan dalam diri kita.
Prinsip randomness juga punya makna rohani yang mendalam. Terkadang Tuhan membiarkan hal-hal terjadi secara “tidak terduga” bukan karena tanpa rencana, tapi karena Ia ingin membentuk kita lewat berbagai pengalaman dan cobaan. Setiap bagian dari perjalanan hidup yang kita alami memiliki peran dalam membentuk keputusan dan jalan hidup kita.
Pada Amsal 15:22 tertulis bahwa “Rencana gagal kalau tidak ada pertimbangan, tetapi terlaksana kalau penasihat banyak”. Ayat ini seolah menggambarkan algoritma Random Forest: keputusan bijak muncul ketika banyak “penasihat” turut bersuara. Sebagai manusia beriman, kita diajak untuk tidak hanya mengandalkan penilaian diri sendiri, melainkan membuka diri terhadap masukan, doa, dan bimbingan Tuhan.
Oleh karena itu, melalui pemahaman yang telah saya dapatkan, saya dapat menyimpulkan bahwa Random Forest mengajarkan kita bahwa kerjasama Random Forest mengajarkan kita bahwa kerjasama dapat menghasilkan keputusan yang lebih baik, mau dalam hal data, maupun dalam kehidupan.
Random Forest bukan hanya algoritma, tetapi cermin dari prinsip hidup yang seimbang dan penuh hikmat. Satu pohon bisa salah arah, tapi satu hutan tumbuh kuat bersama. Satu manusia bisa keliru, tapi bersama, kita bisa berjalan lebih benar.









