เมื่อเปรียบเทียบกับรุ่นอื่นป่าสุ่มมีแนวโน้มที่จะไม่เหมาะ แต่ก็ยังเป็นสิ่งที่คุณต้องการใช้ความพยายามอย่างชัดเจนเพื่อหลีกเลี่ยง การปรับพารามิเตอร์โมเดลเป็นองค์ประกอบหนึ่งในการหลีกเลี่ยงการ overfitting แน่นอน แต่มันไม่ได้เป็นเพียงพารามิเตอร์เดียว ในความเป็นจริงฉันจะบอกว่าคุณลักษณะการฝึกอบรมของคุณมีแนวโน้มที่จะนำไปสู่การ overfitting มากกว่าพารามิเตอร์แบบจำลองโดยเฉพาะอย่างยิ่งกับป่าสุ่ม ดังนั้นฉันคิดว่ากุญแจสำคัญคือการมีวิธีการที่เชื่อถือได้จริง ๆ ในการประเมินแบบจำลองของคุณเพื่อตรวจสอบการ overfitting มากกว่าสิ่งอื่นใดซึ่งนำเราไปสู่คำถามที่สองของคุณ
ดังที่กล่าวถึงข้างต้นการเรียกใช้การตรวจสอบไขว้จะช่วยให้คุณหลีกเลี่ยงการ overfitting การเลือกแบบจำลองที่ดีที่สุดของคุณจากผลลัพธ์ CV จะนำไปสู่รูปแบบที่ไม่เหมาะสมซึ่งไม่จำเป็นต้องเป็นกรณีที่เกิดข้อผิดพลาดเกี่ยวกับกระเป๋า วิธีที่ง่ายที่สุดในการรัน CV ใน R คือการใช้caret
แพ็คเกจ ตัวอย่างง่ายๆอยู่ด้านล่าง:
> 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.