Relatif terhadap model lain, Hutan Acak cenderung kurang cocok tetapi masih merupakan sesuatu yang ingin Anda lakukan secara eksplisit untuk menghindari. Parameter model tuning jelas merupakan salah satu elemen untuk menghindari overfitting tetapi itu bukan satu-satunya. Sebenarnya saya akan mengatakan bahwa fitur pelatihan Anda lebih cenderung menyebabkan overfitting daripada parameter model, terutama dengan Hutan Acak. Jadi saya pikir kuncinya adalah benar-benar memiliki metode yang dapat diandalkan untuk mengevaluasi model Anda untuk memeriksa overfitting lebih dari apa pun, yang membawa kita ke pertanyaan kedua.
Seperti disinggung di atas, menjalankan validasi silang akan memungkinkan Anda menghindari overfitting. Memilih model terbaik Anda berdasarkan hasil CV akan mengarah pada model yang tidak overfit, yang belum tentu berlaku untuk sesuatu seperti kesalahan di luar tas. Cara termudah untuk menjalankan CV di R adalah dengan caret
paket. Contoh sederhana di bawah ini:
> library(caret)
>
> data(iris)
>
> tr <- trainControl(method = "cv", number = 5)
>
> train(Species ~ .,data=iris,method="rf",trControl= tr)
Random Forest
150 samples
4 predictor
3 classes: 'setosa', 'versicolor', 'virginica'
No pre-processing
Resampling: Cross-Validated (5 fold)
Summary of sample sizes: 120, 120, 120, 120, 120
Resampling results across tuning parameters:
mtry Accuracy Kappa Accuracy SD Kappa SD
2 0.96 0.94 0.04346135 0.06519202
3 0.96 0.94 0.04346135 0.06519202
4 0.96 0.94 0.04346135 0.06519202
Accuracy was used to select the optimal model using the largest value.
The final value used for the model was mtry = 2.