BAB I PENDAHULUAN

1.1 Latar Belakang Masalah

Perkembangan teknologi informasi mendorong semakin meningkatnya jumlah data yang dihasilkan dalam berbagai bidang. Data tersebut dapat dimanfaatkan untuk memperoleh informasi, mengenali pola, serta mendukung proses pengambilan keputusan. Namun, hubungan antarvariabel dalam suatu data tidak selalu bersifat linear dan sering kali memiliki pola yang kompleks. Oleh karena itu, diperlukan metode analisis yang mampu mempelajari hubungan tersebut dengan baik, salah satunya melalui pendekatan machine learning. Salah satu pendekatan dalam machine learning adalah ensemble learning, yaitu teknik yang menggabungkan beberapa model pembelajaran untuk menghasilkan prediksi yang lebih baik dibandingkan penggunaan satu model secara individual.

Salah satu metode ensemble learning yang banyak digunakan adalah Random Forest. Metode ini merupakan pengembangan dari decision tree yang membentuk sejumlah pohon keputusan melalui proses pengambilan sampel secara acak (bootstrap sampling) dan pemilihan sebagian variabel prediktor secara acak pada setiap pemisahan node (Kusnandar & Suradiradja, 2026). Selain Random Forest, terdapat pengembangan metode yang dikenal sebagai Double Random Forest yang memanfaatkan pendekatan pengacakan dalam proses pembentukan model untuk menghasilkan prediksi melalui mekanisme ensemble. Kedua metode tersebut dapat diterapkan pada permasalahan klasifikasi maupun regresi.

Pemahaman mengenai Random Forest dan Double Random Forest perlu dilakukan melalui kajian konsep serta penerapan langsung pada permasalahan klasifikasi dan regresi. Perbandingan kedua metode berdasarkan ukuran evaluasi yang sesuai dapat memberikan gambaran mengenai karakteristik dan kemampuan masing-masing metode dalam menghasilkan prediksi. Dengan demikian, praktikum ini dilakukan untuk memahami prinsip kerja Random Forest dan Double Random Forest.

1.2 Rumusan Masalah

Berdasarkan latar belakang, rumusan masalah pada penelitian ini adalah:

  1. Bagaimana cara memahami Random Forest dan Double Random Forest sebagai metode ensemble berbasis decision tree?

  2. Bagaimana cara mengimplementasikan Random Forest untuk klasifikasi dan regresi, serta Double Random Forest untuk klasifikasi dan regresi?

  3. Bagaimana cara mengevaluasi performa model, memahami Out-of-Bag (OOB) error, dan membandingkan Random Forest dengan Double Random Forest?

1.3 Tujuan

Berdasarkan rumusan masalah di atas, tujuan yang dapat disimpulkan adalah:

  1. Mahasiswa dapat memahami Random Forest dan Double Random Forest sebagai metode ensemble berbasis decision tree.

  2. Mahasiswa dapat mengimplementasikan Random Forest untuk klasifikasi dan regresi, serta Double Random Forest untuk klasifikasi dan regresi.

  3. Mahasiswa dapat mengevaluasi performa model, memahami Out-of-Bag (OOB) error, dan membandingkan Random Forest dengan Double Random Forest.

BAB II TINJAUAN PUSTAKA

2.1 Ensemble Learning

Ensemble learning adalah teknik dalam algoritma pembelajaran mesin (ML) dengan kombinasi dua algoritma atau lebih untuk mendapatkan solusi yang lebih baik dari model sebelumnya. Ensemble learning adalah metode yang melibatkan beberapa algoritma ML dengan hasil rendah kemudian ditingkatkan untuk mendapatkan hasil yang lebih tinggi. Teknik ensemble learning terdiri dari bagging. boosting dan stacking (Churniansyah dan Utomo, 2024). Secara formal, ensemble learning dapat didefinisikan sebagai paradigma pembelajaran di mana beberapa pengklasifikasi dasar dilatih dan digabungkan untuk menghasilkan keputusan klasifikasi akhir. Prediksi ensemble diperoleh melalui suatu fungsi agregasi yang mengombinasikan keluaran model-model tersebut. Efektivitas ensemble learning erat kaitannya dengan dekomposisi bias varians dari galat klasifikasi (Rachmatullah, 2021).

2.2 Random Forest

Random Forest (RF) pertama kali diperkenalkan oleh Leo Breiman (2001). RF merupakan salah satu metode yang dapat meningkatkan hasil akurasi dalam membangkitkan atribut untuk setiap node yang dilakukan secara acak. RF terdiri dari sekumpulan decision tree, dimana kumpulan pohon keputusan ini digunakan untuk mengklasifikasi data ke suatu kelas. Pohon keputusan dibuat dengan menentukan node akar dan berakhir dengan beberapa node daun untuk mendapatkan hasil akhir. Membentuk pohon keputusan pada metode RF sama dengan proses pada Classsification and Regression Tree (CART), hanya saja pada RF tidak dilakukan prunning (pemangkasan). Indeks Gini digunakan unruk memilih fitur di setiap simpul internal dari pohon keputusan (Amaliah, Nusrang, dan aswi, 2022). Random Forest Regression (RFR) merupakan algoritme ensemble learning yang menggabungkan banyak pohon keputusan (decision tree) sehingga mampu menangkap hubungan non-linear antar variabel dan relatif tahan terhadap masalah multikolinearitas dibandingkan metode statistik konvensional seperti regresi linear (Kusnandar & Suradiradja, 2026).

2.3 Out-of-Bag (OOB) Error

Pada bootstrap berukuran 𝑛 yang diambil dengan pengembalian dari 𝑛 observasi, sebagian observasi dapat terambil lebih dari sekali dan sebagian lainnya tidak terambil. Secara rata-rata, proporsi observasi unik yang masuk ke satu bootstrap sampel mendekati 1 − 𝑒⁻¹ ≈ 0,632. Artinya, sekitar 36,8% observasi tidak digunakan untuk membentuk tree tertentu dan disebut Out-of-Bag (OOB) observations. Untuk setiap observasi, prediksi OOB diperoleh hanya dari tree-tree yang tidak menggunakan observasi tersebut ketika dibentuk. Prediksi ini dapat digunakan untuk menghitung OOB prediction error sebagai ukuran evaluasi internal Random Forest. Pada ranger, OOB error dihitung secara otomatis secara default. Untuk klasifikasi, prediction.error menyatakan proporsi salah klasifikasi OOB, sedangkan untuk regresi menyatakan OOB Mean Squared Error (MSE) (Fransiska, 2026).

2.4 Double Random Forest (DRF)

Double random forest (DRF) dikembangkan dari RF ketika data RF mengalami underfit. Berbeda dengan RF, DRF menggunakan seluruh sampel data latih untuk membangun pohon keputusan. Seluruh pohon yang dibentuk pada DRF berasal dari data yang sama akan menghasilkan contoh unik yang banyak. Semakin banyak contoh unik yang dimiliki, akan semakin besar pohon yang dihasilkan. Adanya DRF diharapkan dapat menghasilkan pohon keputusan yang lebih besar dan bisa meningkatkan performa yang maksimum sesuai dengan ukuran node minimum. DRF melakukan bootstrap pada setiap node untuk mendapatkan pemisah terbaik dan kondisi lain ketika tidak memerlukan bootstrap yakni saat suatu node memiliki sampel kurang dari 10% dari total sampel. Setiap hasil prediksi suatu pohon akan digabungkan dengan menggunakan majority vote (Manaf, Fitrianto, dan Soleh., 2024).

BAB III METODE PENELITIAN

3.1 Sumber Data

Jenis data yang digunakan dalam penelitian ini berupa data kuantitatif dan data kualitatif. Data kuantitatif adalah jenis data yang dapat diukur (measurable) atau dihitung secara langsung sebagai variabel angka. Sumber data yang digunakan dalam penelitian ini yaitu data sekunder. Data sekunder adalah data yang diperoleh secara tidak langsung oleh peneliti melainkan melalui prantara. Data sekunder dalam penelitian ini diperoleh dari dari dataset Friedmad pada package mlbench Program R.

3.2 Variabel Penelitian

Variabel adalah objek penelitian atau apa yang menjadi titik perhatian. Dalam penelitian ini terdapat beberapa variabel. Variabel penelitian terdiri atas variabel respons dan variabel prediktor. Variabel respons yang digunakan terdiri dari y sebagai variabel respons dan 10 variabel lainnya sebagai prediktor.

3.3 Langkah-langkah Analisis

Langkah-langkah analisis yang dilakukan adalah:

  1. Menyiapkan data yang akan digunakan untuk analisis klasifxikasi dan regresi.

  2. Membangun model Random Forest untuk kasus klasifikasi dan regresi dengan menentukan parameter yang digunakan.

  3. Membangun model Double Random Forest untuk kasus klasifikasi dan regresi sesuai dengan algoritma yang diterapkan.

  4. Melakukan prediksi menggunakan masing-masing model pada data uji.

  5. Mengevaluasi kinerja model klasifikasi menggunakan confusion matrix, accuracy, precision, recall, dan F1-score.

  6. Mengevaluasi kinerja model regresi menggunakan MSE, RMSE, MAE, dan R².

  7. Mengamati nilai OOB (Out-of-Bag) sebagai ukuran evaluasi internal pada model Random Forest.

  8. Membandingkan hasil evaluasi Random Forest dan Double Random Forest untuk mengetahui perbedaan kinerja kedua metode.

  9. Menarik kesimpulan berdasarkan hasil analisis dan perbandingan model.

BAB IV HASIL DAN PEMBAHASAN

4.1 Library dan Dataset

#Library
library(caret)
## Loading required package: ggplot2
## Loading required package: lattice
library(mlbench)
library(ranger)
# B1. Membentuk dataset
set.seed(234)
reg.data <- as.data.frame(mlbench.friedman1(200))
str(reg.data)
## 'data.frame':    200 obs. of  11 variables:
##  $ x.1 : num  0.7456 0.7817 0.02 0.7761 0.0669 ...
##  $ x.2 : num  0.575 0.316 0.765 0.229 0.172 ...
##  $ x.3 : num  0.0289 0.9375 0.7978 0.668 0.5974 ...
##  $ x.4 : num  0.72 0.185 0.534 0.553 0.755 ...
##  $ x.5 : num  0.875 0.704 0.952 0.478 0.533 ...
##  $ x.6 : num  0.276 0.643 0.987 0.843 0.733 ...
##  $ x.7 : num  0.9332 0.4018 0.0874 0.893 0.1024 ...
##  $ x.8 : num  0.60746 0.00369 0.0106 0.44639 0.83494 ...
##  $ x.9 : num  0.756 0.405 0.247 0.144 0.187 ...
##  $ x.10: num  0.718 0.534 0.667 0.68 0.595 ...
##  $ y   : num  24.35 18.05 12.02 12.1 9.91 ...
summary(reg.data)
##       x.1                x.2                x.3               x.4         
##  Min.   :0.001198   Min.   :0.004583   Min.   :0.01021   Min.   :0.00707  
##  1st Qu.:0.274097   1st Qu.:0.255644   1st Qu.:0.24506   1st Qu.:0.20772  
##  Median :0.541847   Median :0.436813   Median :0.48965   Median :0.50295  
##  Mean   :0.509759   Mean   :0.465323   Mean   :0.48570   Mean   :0.48821  
##  3rd Qu.:0.741416   3rd Qu.:0.651439   3rd Qu.:0.73476   3rd Qu.:0.76599  
##  Max.   :0.993590   Max.   :0.999850   Max.   :0.99985   Max.   :0.99761  
##       x.5                x.6                x.7                x.8          
##  Min.   :0.008246   Min.   :0.005504   Min.   :0.001884   Min.   :0.002496  
##  1st Qu.:0.267523   1st Qu.:0.194431   1st Qu.:0.226788   1st Qu.:0.249826  
##  Median :0.522081   Median :0.446060   Median :0.491332   Median :0.480306  
##  Mean   :0.503282   Mean   :0.468544   Mean   :0.503754   Mean   :0.482050  
##  3rd Qu.:0.751688   3rd Qu.:0.746035   3rd Qu.:0.780325   3rd Qu.:0.696675  
##  Max.   :0.994604   Max.   :0.999021   Max.   :0.993044   Max.   :0.995613  
##       x.9                x.10                y         
##  Min.   :0.004483   Min.   :0.005544   Min.   : 3.082  
##  1st Qu.:0.203254   1st Qu.:0.329160   1st Qu.:10.593  
##  Median :0.453476   Median :0.592614   Median :13.810  
##  Mean   :0.471873   Mean   :0.540708   Mean   :14.270  
##  3rd Qu.:0.742412   3rd Qu.:0.765353   3rd Qu.:18.063  
##  Max.   :0.997436   Max.   :0.998141   Max.   :26.146
dim(reg.data)
## [1] 200  11

Berdasarkan hasil pembentukan dataset diperoleh data sebanyak 200 pengamatan dan 11 variabel, yang terdiri atas 10 variabel prediktor dan satu variabel respon.

Berdasarkan hasil statistik deskriptif, seluruh variabel prediktor memiliki nilai minimum dan maksimum yang berada pada rentang 0 sampai 1. Hal ini sesuai dengan karakteristik data simulasi Friedman, yaitu variabel prediktor dibangkitkan dari distribusi seragam.

Variabel respon y memiliki nilai minimum sebesar 3,082, maksimum sebesar 26,146, rata-rata sebesar 14,270, dan median sebesar 13,810. Nilai rata-rata yang relatif dekat dengan median menunjukkan bahwa pusat distribusi data respon berada di sekitar nilai tersebut.

4.3 Pembagian Data

# B2. Membagi data training dan testing
set.seed(234)
idx.reg <- createDataPartition(reg.data$y, p = 0.70, list = FALSE)

reg.train <- reg.data[idx.reg, ]
reg.test <- reg.data[-idx.reg, ]

dim(reg.train)
## [1] 140  11
dim(reg.test)
## [1] 60 11
# Memisahkan prediktor dan respon
x_train <- reg.train[, -ncol(reg.train)]
y_train <- reg.train[, ncol(reg.train)]

x_test <- reg.test[, -ncol(reg.test)]
y_test <- reg.test[, ncol(reg.test)]

Pembagian data dilakukan menggunakan fungsi dengan proporsi 70% untuk data training dan 30% untuk data testing. Data training digunakan untuk membangun model Random Forest Regression, sedangkan data testing digunakan untuk mengevaluasi kemampuan model dalam memprediksi pengamatan yang tidak digunakan selama proses pelatihan.

4.3 Model Random Forest Regression (mtry = 2, 3, 5; num.trees = 200, 500, 1000)

## B3. Membentuk Random Forest Regression
kombinasi <- expand.grid(
  mtry = c(2, 3, 5),
  num.trees = c(200, 500, 1000)
)

hasil_model <- list()
hasil_evaluasi <- data.frame()
hasil_residual <- data.frame()

for(i in 1:nrow(kombinasi)) {
  
  set.seed(234)
  
  rf.reg <- ranger(
    y ~ ., data = reg.train,
    num.trees = kombinasi$num.trees[i],
    mtry = kombinasi$mtry[i],
    min.node.size = 5,
    replace = TRUE,
    sample.fraction = 1,
    importance = "permutation",
    seed = 234
  )
  
  # Nama model
  nama <- paste0(
    "RF_mtry", kombinasi$mtry[i],
    "_tree", kombinasi$num.trees[i]
  )
  
  # B4. Evaluasi OOB
  OOB_MSE <- rf.reg$prediction.error
  OOB_R2 <- rf.reg$r.squared
  
  # B5. Prediksi data testing
  pred.rf.reg <- predict(rf.reg, data = reg.test)$predictions
  
  actual.reg <- reg.test$y
  
  residual.rf <- actual.reg - pred.rf.reg
  
  # Menyimpan aktual, prediksi, residual
  hasil_residual <- rbind(hasil_residual, data.frame(Model = nama,
                                                     Aktual = actual.reg,
                                                     Residual = residual.rf
                                                     )
                          )
  
  # B6. Evaluasi model regresi
  MSE.rf <- mean((actual.reg - pred.rf.reg)^2)
  RMSE.rf <- sqrt(MSE.rf)
  MAE.rf <- mean(abs(actual.reg - pred.rf.reg))
  R2.rf <- 1 - sum((actual.reg - pred.rf.reg)^2) /
    sum((actual.reg - mean(actual.reg))^2)
  
  # B7. Plot nilai aktual dan prediksi
  plot(
    actual.reg, pred.rf.reg,
    pch = 19,
    xlab = "Nilai Aktual",
    ylab = "Nilai Prediksi",
    main = paste("Aktual vs Prediksi:", nama)
  )
  
  abline(a = 0, b = 1, lty = 2, lwd = 2)
  
  # B8. Plot residual
  plot(
    pred.rf.reg, residual.rf,
    pch = 19,
    xlab = "Nilai Prediksi",
    ylab = "Residual",
    main = paste("Residual Plot:", nama)
  )
  
  abline(h = 0, lty = 2, lwd = 2)
  
  # B9. Variable Importance
  importance.rf.reg <- sort(
    rf.reg$variable.importance,
    decreasing = TRUE
  )
  
  barplot(
    importance.rf.reg,
    las = 2,
    main = paste("Variable Importance:", nama),
    ylab = "Permutation Importance"
  )
  
  # B10. Menyimpan model dan evaluasi
  hasil_model[[nama]] <- rf.reg
  
  hasil_evaluasi <- rbind(
    hasil_evaluasi,
    data.frame(
      Model = nama,
      mtry = kombinasi$mtry[i],
      num.trees = kombinasi$num.trees[i],
      MSE = MSE.rf,
      RMSE = RMSE.rf,
      MAE = MAE.rf,
      R2 = R2.rf,
      OOB_MSE = OOB_MSE,
      OOB_R2 = OOB_R2
    )
  )
}

# B11. Hasil evaluasi seluruh model
print(hasil_evaluasi)
##               Model mtry num.trees      MSE     RMSE      MAE        R2
## 1  RF_mtry2_tree200    2       200 7.870017 2.805355 2.341396 0.6716820
## 2  RF_mtry3_tree200    3       200 7.813901 2.795336 2.298086 0.6740230
## 3  RF_mtry5_tree200    5       200 7.659604 2.767599 2.272636 0.6804599
## 4  RF_mtry2_tree500    2       500 8.177383 2.859612 2.383159 0.6588594
## 5  RF_mtry3_tree500    3       500 7.827849 2.797829 2.305786 0.6734412
## 6  RF_mtry5_tree500    5       500 7.382590 2.717092 2.231178 0.6920163
## 7 RF_mtry2_tree1000    2      1000 8.118135 2.849234 2.379363 0.6613311
## 8 RF_mtry3_tree1000    3      1000 7.778006 2.788908 2.299634 0.6755205
## 9 RF_mtry5_tree1000    5      1000 7.192453 2.681875 2.205419 0.6999483
##    OOB_MSE    OOB_R2
## 1 8.222172 0.6904530
## 2 7.709709 0.7097461
## 3 7.063163 0.7340872
## 4 8.126738 0.6940459
## 5 7.442423 0.7198089
## 6 6.874982 0.7411718
## 7 8.055346 0.6967336
## 8 7.354733 0.7231102
## 9 6.825960 0.7430173
# Mengurutkan model berdasarkan MSE terkecil
hasil_urut <- hasil_evaluasi[
  order(hasil_evaluasi$MSE),
]

print(hasil_urut)
##               Model mtry num.trees      MSE     RMSE      MAE        R2
## 9 RF_mtry5_tree1000    5      1000 7.192453 2.681875 2.205419 0.6999483
## 6  RF_mtry5_tree500    5       500 7.382590 2.717092 2.231178 0.6920163
## 3  RF_mtry5_tree200    5       200 7.659604 2.767599 2.272636 0.6804599
## 8 RF_mtry3_tree1000    3      1000 7.778006 2.788908 2.299634 0.6755205
## 2  RF_mtry3_tree200    3       200 7.813901 2.795336 2.298086 0.6740230
## 5  RF_mtry3_tree500    3       500 7.827849 2.797829 2.305786 0.6734412
## 1  RF_mtry2_tree200    2       200 7.870017 2.805355 2.341396 0.6716820
## 7 RF_mtry2_tree1000    2      1000 8.118135 2.849234 2.379363 0.6613311
## 4  RF_mtry2_tree500    2       500 8.177383 2.859612 2.383159 0.6588594
##    OOB_MSE    OOB_R2
## 9 6.825960 0.7430173
## 6 6.874982 0.7411718
## 3 7.063163 0.7340872
## 8 7.354733 0.7231102
## 2 7.709709 0.7097461
## 5 7.442423 0.7198089
## 1 8.222172 0.6904530
## 7 8.055346 0.6967336
## 4 8.126738 0.6940459

Pemodelan dilakukan menggunakan fungsi ranger() dengan sembilan kombinasi parameter. Parameter mtry menentukan jumlah variabel prediktor yang dipertimbangkan secara acak pada setiap pemisahan node. Sementara itu, num.trees menentukan jumlah pohon keputusan yang dibentuk dalam model Random Forest.

Evaluasi internal dilakukan menggunakan nilai Out-of-Bag (OOB) yang diperoleh dari objek rf.reg. OOB MSE menunjukkan rata-rata kuadrat kesalahan prediksi berdasarkan pengamatan yang tidak digunakan dalam pembentukan pohon tertentu. Semakin kecil OOB MSE, semakin baik kemampuan prediksi internal model. Model dengan kombinasi mtry = 5 dan num.trees = 1000 menghasilkan OOB MSE terkecil sebesar 6,825960 dan OOB R² terbesar sebesar 0,7430173. Hal ini menunjukkan bahwa model tersebut memiliki kemampuan prediksi internal terbaik dibandingkan delapan kombinasi lainnya.

Evaluasi data testing dilakukan menggunakan empat ukuran, yaitu Mean Squared Error (MSE), Root Mean Squared Error (RMSE), Mean Absolute Error (MAE), dan koefisien determinasi (R²).Model dengan kombinasi mtry Nilai RMSE terkecil diperoleh model dengan mtry = 5 dan num.trees = 1000, yaitu sebesar 2,681875. Sementara itu, nilai RMSE terbesar diperoleh model dengan mtry = 2 dan num.trees = 500, yaitu sebesar 2,859612. = 5 dan num.trees = 1000 menghasilkan MSE terkecil sebesar 7,192453. Sebaliknya, MSE terbesar diperoleh model dengan kombinasi mtry = 2 dan num.trees = 500, yaitu sebesar 8,177383. Model dengan kombinasi mtry = 5 dan num.trees = 1000 menghasilkan MAE terkecil sebesar 2,205419. Artinya, secara rata-rata, nilai prediksi model tersebut memiliki selisih absolut sekitar 2,2054 satuan dari nilai aktual. Nilai R² tertinggi diperoleh model dengan kombinasi mtry = 5 dan num.trees = 1000, yaitu sebesar 0,6999483 atau sekitar 69,99%. Hal ini menunjukkan bahwa model mampu menjelaskan sekitar 69,99% variasi nilai aktual pada data testing, sedangkan sekitar 30,01% sisanya belum dapat dijelaskan oleh prediksi model.

Plot aktual dan prediksi digunakan untuk melihat kedekatan nilai hasil prediksi model terhadap nilai aktual pada data testing. Sementara, Residual plot digunakan untuk mengetahui pola kesalahan prediksi model dengan membandingkan nilai prediksi dan residual.

Variable importance digunakan untuk mengetahui tingkat kepentingan masing-masing variabel prediktor dalam membentuk model Random Forest Regression. Pada data Friedman, hubungan variabel respon secara teoritis dibentuk terutama oleh lima variabel pertama, yaitu x1, x2, x3, x4, dan x5. Sementara itu, variabel x6 sampai x10 merupakan variabel yang tidak masuk ke dalam fungsi pembentukan respon.

Model terbaik dalam metode ini yaitu model dengan kombinasi mtry = 5 dan num.trees = 1000 menempati peringkat pertama karena menghasilkan MSE, RMSE, dan MAE terkecil serta R² terbesar dibandingkan model lainnya. Model tersebut juga menghasilkan OOB MSE terkecil sebesar 6,825960 dan OOB R² terbesar sebesar 0,7430173.

BAB V KESIMPULAN

5.1 Kesimpulan

Random Forest dan Double Random Forest merupakan metode ensemble learning berbasis pohon keputusan yang menggabungkan beberapa pohon untuk menghasilkan prediksi yang lebih baik. Random Forest menggunakan teknik bootstrap sampling dan pemilihan subset variabel secara acak, sedangkan Double Random Forest menerapkan pengacakan tambahan sesuai mekanisme algoritmanya untuk membangun model prediksi yang lebih beragam.

Implementasi Random Forest dan Double Random Forest dapat dilakukan pada kasus klasifikasi maupun regresi. Pada klasifikasi, hasil prediksi ditentukan melalui mekanisme voting dari seluruh pohon, sedangkan pada regresi diperoleh melalui rata-rata prediksi. Kedua metode dapat diterapkan dengan menentukan parameter model yang sesuai agar menghasilkan prediksi berdasarkan karakteristik data.

Evaluasi kinerja Random Forest dan Double Random Forest dapat dilakukan menggunakan ukuran evaluasi yang disesuaikan dengan jenis permasalahan. Pada klasifikasi, evaluasi dapat menggunakan accuracy, precision, recall, dan F1-score, sedangkan pada regresi menggunakan MSE, RMSE, MAE, dan R². Selain itu, nilai OOB (Out-of-Bag) dapat digunakan sebagai evaluasi internal model tanpa memerlukan data validasi tambahan. Perbandingan kedua metode dilakukan berdasarkan hasil evaluasi tersebut untuk mengetahui metode yang memberikan kinerja prediksi lebih baik..

Berdasarkan hasil analisis Random Forest Regression pada data simulasi Friedman dengan 200 pengamatan, diperoleh sembilan kombinasi model menggunakan variasi mtry sebesar 2, 3, dan 5 serta num.trees sebesar 200, 500, dan 1000. Hasil evaluasi menunjukkan bahwa perubahan nilai mtry dan num.trees memberikan pengaruh yang berbeda terhadap performa model. Kombinasi mtry = 5 dan num.trees = 1000 menghasilkan performa terbaik dengan MSE sebesar 7,192453, RMSE sebesar 2,681875, MAE sebesar 2,205419, dan R² sebesar 0,6999483. Selain itu, model tersebut juga memperoleh OOB MSE sebesar 6,825960 dengan OOB R² sebesar 0,7430173. Dengan demikian, kombinasi mtry = 5 dan num.trees = 1000 merupakan model Random Forest Regression terbaik di antara sembilan kombinasi parameter yang diuji pada data tersebut.

DAFTAR PUSTAKA

Amaliah, s., Nusrang, M., dan Aswi. (2022). Penerapan Metode Random Forest Untuk Klasifikasi Varian Minuman Kopi Di Kedai Kopi Konijiwa Bantaeng. VARIANSI: Journal of Statistics and Its Application on Teaching and Research, 4(2), 121-127.

Aprihartha, M. A., Umam, L. K., & Ardhana, R. (2026). Perbandingan metode bagging dan boosting untuk regresi logistik pada proses perekrutan pegawai. JSI: Jurnal Sistem Informasi (E-Journal), 18(1).

Fransiska, H. (2026). Modul Praktikum Machine Learning and Modern Prediction. Laboratorium Statistika, Universitas Bengkulu.

Kusnandar, M. N. D., & Suradiradja, K. H. (2026). Implementasi Random Forest Regression untuk prediksi kebutuhan bahan baku minyak Senggugu. Jurnal Komputer dan Teknologi Informasi Sistem Informasi (JUKTISI), 5(2).

Rachmatullah, M. I. C. (2025). Ensemble learning untuk klasifikasi: Tinjauan komprehensif metode, aplikasi, dan perkembangan terkini. Improve, 17(1), 29–31.

Manaf, S. A. R., Fitrianto, A., dan Soleh, A. M. (2024). Perbandingan Algoritma Pohon dengan Beberapa Skenario Pelabelan untuk Analisis Sentimen pada Aplikasi Milik Pemerintah/BUMN. JEPIN (Jurnal Edukasi dan Penelitian Informatika), 10(1).