การใช้งาน RandomForest ไม่อนุญาตให้มีการสุ่มตัวอย่างเกินจำนวนการสังเกตแม้ว่าจะสุ่มตัวอย่างด้วยการเปลี่ยน ทำไมนี้
ทำงานได้ดี:
rf <- randomForest(Species ~ ., iris, sampsize=c(1, 1, 1), replace=TRUE)
rf <- randomForest(Species ~ ., iris, sampsize=3, replace=TRUE)
สิ่งที่ฉันต้องการจะทำ:
rf <- randomForest(Species ~ ., iris, sampsize=c(51, 1, 1), replace=TRUE)
Error in randomForest.default(m, y, ...) :
sampsize can not be larger than class frequency
ข้อผิดพลาดที่คล้ายกันโดยไม่มีตัวอย่างแบ่งชั้น:
rf <- randomForest(Species ~ ., iris, sampsize=151, replace=TRUE)
Error in randomForest.default(m, y, ...) : sampsize too large
เนื่องจากฉันคาดว่าวิธีการที่จะใช้ตัวอย่าง bootstrap เมื่อได้รับแทนที่ = TRUE ในทั้งสองกรณีฉันไม่ได้คาดหวังข้อ จำกัด นี้
วัตถุประสงค์ของฉันคือใช้สิ่งนี้กับตัวเลือกการสุ่มแบบแบ่งชั้นเพื่อดึงตัวอย่างขนาดใหญ่พอจากชั้นเรียนที่ค่อนข้างหายาก