Liên quan đến các mô hình khác, Rừng ngẫu nhiên ít có khả năng phù hợp hơn nhưng nó vẫn là thứ mà bạn muốn thực hiện một nỗ lực rõ ràng để tránh. Điều chỉnh các tham số mô hình chắc chắn là một yếu tố của việc tránh quá mức nhưng nó không phải là yếu tố duy nhất. Trong thực tế, tôi muốn nói rằng các tính năng đào tạo của bạn có nhiều khả năng dẫn đến tình trạng thừa hơn so với các tham số mô hình, đặc biệt là với Rừng ngẫu nhiên. Vì vậy, tôi nghĩ rằng chìa khóa thực sự có một phương pháp đáng tin cậy để đánh giá mô hình của bạn để kiểm tra mức độ vượt quá nhiều hơn bất kỳ điều gì khác, điều này đưa chúng ta đến câu hỏi thứ hai của bạn.
Như đã nói ở trên, chạy xác thực chéo sẽ cho phép bạn tránh bị quá mức. Chọn mô hình tốt nhất của bạn dựa trên kết quả CV sẽ dẫn đến một mô hình không phù hợp, điều này không nhất thiết là trường hợp xảy ra như lỗi túi. Cách dễ nhất để chạy CV trong R là với caret
gói. Một ví dụ đơn giản dưới đây:
> 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.