***Random forest*** (RF) adalah suatu algoritma yang digunakan pada klasifikasi data dalam jumlah yang besar. Klasifikasi *random forest* dilakukan melalui penggabungan pohon (*tree*) dengan melakukan *training* pada sampel data yang dimiliki. Penggunaan pohon (tree) yang semakin banyak akan mempengaruhi akurasi yang akan didapatkan menjadi lebih baik. Penentuan klasifikasi dengan *random forest* diambil berdasarkan hasil *voting* dari *tree* yang terbentuk. Pemenang dari *tree* yang terbentuk ditentukan dengan *vote* terbanyak.
Pembangunan pohon (*tree*) pada *random forest* sampai dengan mencapai ukuran maksimum dari pohon data. Akan tetapi,pembangunan pohon *random forest* tidak dilakukan pemangkasan (*pruning*) yang merupakan sebuah metode untuk mengurangi kompleksitas ruang. Pembangunan dilakukan dengan penerapan metode *random feature selection* untuk meminimalisir kesalahan. Pembentukan pohon (*tree*) dengan sample data menggunakan variable yang diambil secara acak dan menjalankan klasifikasi pada semua *tree* yang terbentuk.
*Random forest* menggunakan *Decision Tree* untuk melakukan proses seleksi. Pohon yang dibangun dibagi secara rekursif dari data pada kelas yang sama. Pemecahan (*split*) digunakan untuk membagi data berdasarkan jenis atribut yang digunakan. Pembuatan *decision tree* pada saat penentuan klasifikasi,pohon yang buruk akan membuat prediksi acak yang saling bertentangan. Sehingga,beberapa *decision tree* akan menghasilkan jawaban yang baik.
*Random forest* merupakan salah satu cara penerapan dari pendekatan diskriminasi stokastik pada klasifikasi. Proses Klasifikasi akan berjalan jika semua *tree* telah terbentuk.Pada saat proses klasifikasi selesai dilakukan, inisialisasi dilakukan dengan sebanyak data berdasarkan nilai akurasinya. Keuntungan penggunaan random forest yaitu mampu mengklasifiksi data yang memiliki atribut yang tidak lengkap,dapat digunakan untuk klasifikasi dan regresi akan tetapi tidak terlalu bagus untuk regresi, lebih cocok untuk pengklasifikasian data serta dapat digunakan untuk menangani data sampel yang banyak.
Proses klasifikasi pada *random forest* berawal dari memecah data sampel yang ada kedalam *decision tree* secara acak. Setelah pohon terbentuk,maka akan dilakukan *voting* pada setiap kelas dari data sampel. Kemudian, mengkombinasikan *vote* dari setiap kelas kemudian diambil *vote* yang paling banyak.Dengan menggunakan *random forest* pada klasifikasi data maka, akan menghasilkan *vote* yang paling baik. *Random Forest* juga dapat digunakan untuk mendeteksi kualitas *seafood* didapatkan bahwa hasil akurasinya mencapai 99% ,hal ini membuktikan bahwa *Random Forest* bagus untuk mendeteksi kualitas kesegaran produk perikanan laut.

Sejarah
=======

Metode umum dari *random decision forest* pertama kali diusulkan oleh Ho pada tahun 1995,Tin Kam Ho yang menetapkan bahwa pohon-pohon keputusan di *random forest* membelah diri dengan *hyperplanes* yang miring, jika secara acak dibatasi untuk peka hanya pada dimensi fitur yang dipilih, maka dapat memperoleh akurasi ketika pohon-pohon keputusan tumbuh tanpa terlalu banyak berlatih.Sebuah karya berikutnya  pada tema yang sama  menyimpulkan bahwa metode pemisahan lain, selama pohon-pohon keputusan secara acak dipaksa tidak peka terhadap beberapa dimensi fitur, berperilaku sama. Perhatikan bahwa pengamatan terhadap pengklasifikasi yang lebih kompleks (hutan yang lebih besar) yang semakin akurat hampir secara monoton sangat kontras dengan keyakinan umum bahwa kompleksitas penggolongan hanya dapat tumbuh pada tingkat akurasi tertentu sebelum disakiti dengan overfitting. Penjelasan tentang perlawanan metode hutan terhadap overtraining dapat ditemukan dalam teori Kleinberg tentang diskriminasi stokastik.

Awal mula perkembangan gagasan Breiman tentang *random forest* dipengaruhi oleh karya Amit dan Geman  yang memperkenalkan gagasan pencarian lebih dari satu *subset* acak dari keputusan yang tersedia ketika memisahkan sebuah simpul, dalam konteks menumbuhkan satu pohon. Gagasan pemilihan subruang acak dari Ho  juga berpengaruh dalam desain *random forest*. Dalam metode ini, hutan pepohonan ditanam, dan variasi di antara pepohonan diperkenalkan dengan memproyeksikan data pelatihan ke dalam subruang yang dipilih secara acak, sebelum memasang setiap pohon atau setiap simpul. Kemudian, jadilah ide pengoptimalan node acak, di mana keputusan di setiap node dipilih dengan prosedur acak, dari optimasi deterministik yang pertama kali diperkenalkan oleh Dietterich.

*Random forest* pertama kali di publikasikan dengan beberapa persiapan ialah melalui makalah oleh Leo Breiman Makalah ini menjelaskan metode membangun hutan pohon yang tidak berkorelasi menggunakan prosedur seperti CART (Classification And Regression Trees), dikombinasikan dengan pengoptimalan simpul acak dan bagging. Selain itu, makalah ini menggabungkan beberapa bahan, beberapa sebelumnya dikenal dan beberapa novel, yang membentuk dasar dari praktik modern hutan acak, khususnya:

1. Menggunakan *out-of-bag error* sebagai perkiraan kesalahan generalisasi.
2. Mengukur variabel penting melalui permutasi.

Laporan ini juga menawarkan hasil teoretis pertama untuk *random forest* dalam bentuk batas pada kesalahan generalisasi yang tergantung pada kekuatan pohon di hutan dan korelasinya.

Referensi
---------

1. ↑  Syarwan, Nailatul Fadhilah. "APLIKASI DETEKSI KUALITAS SEAFOOD MENGGUNAKAN ALGORITMA RANDOM FOREST DAN ELECTRONIC NOSE". *Open Library Telkom University*. Diakses tanggal 2023-07-01.
2. ↑  Ho, Tin Kam (1995). *Random Decision Forests* (PDF). Proceedings of the 3rd International Conference on Document Analysis and Recognition, Montreal, QC, 14–16 August 1995. hlm. 278–282. Diarsipkan dari versi asli (PDF) tanggal 2016-04-17. Diakses tanggal 2018-05-11.
3. 1 2 3  Ho TK (1998). "The Random Subspace Method for Constructing Decision Forests" (PDF). *IEEE Transactions on Pattern Analysis and Machine Intelligence*. **20** (8): 832–844. doi:10.1109/34.709601. Diarsipkan dari versi asli (PDF) tanggal 2016-03-04. Diakses tanggal 2018-05-11.
4. ↑  Kleinberg E (1990). "Stochastic Discrimination" (PDF). *Annals of Mathematics and Artificial Intelligence*. **1** (1–4): 207–239. doi:10.1007/BF01531079. Diarsipkan dari versi asli (PDF) tanggal 2018-01-18. Diakses tanggal 2018-05-11.
5. ↑  Kleinberg E (1996). "An Overtraining-Resistant Stochastic Modeling Method for Pattern Recognition". *Annals of Statistics*. **24** (6): 2319–2349. doi:10.1214/aos/1032181157. MR 1425956.
6. ↑  Kleinberg E (2000). "On the Algorithmic Implementation of Stochastic Discrimination" (PDF). *IEEE Transactions on PAMI*. **22** (5). Diarsipkan dari versi asli (PDF) tanggal 2018-01-18. Diakses tanggal 2018-05-11.
7. ↑  Amit Y, Geman D (1997). "Shape quantization and recognition with randomized trees" (PDF). *Neural Computation*. **9** (7): 1545–1588. doi:10.1162/neco.1997.9.7.1545. Diarsipkan dari versi asli (PDF) tanggal 2018-02-05. Diakses tanggal 2018-05-11.
8. ↑  Dietterich, Thomas (2000). "An Experimental Comparison of Three Methods for Constructing Ensembles of Decision Trees: Bagging, Boosting, and Randomization". *Machine Learning*: 139–157.
9. ↑  Breiman L (2001). "Random Forests". *Machine Learning*. **45** (1): 5–32. doi:10.1023/A:1010933404324.

Bacaan lanjutan
---------------

* Prinzie A, Poel D (2007). "Random Multiclass Classification: Generalizing Random Forests to Random MNL and Random NB" (PDF). *Database and Expert Systems Applications*. Lecture Notes in Computer Science. **4653**. hlm. 349. doi:10.1007/978-3-540-74469-6\_35. ISBN 978-3-540-74467-2.
* Denisko D, Hoffman MM (February 2018). "Classification and interaction in random forests". *Proceedings of the National Academy of Sciences of the United States of America*. **115** (8): 1690–1692. doi:10.1073/pnas.1800256115. PMC 5828645 alt=Dapat diakses gratis. PMID 29440440.