2016-03-10 15 views
5

Có cách nào để thực hiện xác nhận chéo phân tầng khi sử dụng chức năng đào tạo để phù hợp với mô hình cho một tập dữ liệu mất cân bằng lớn không? Tôi biết thẳng về phía trước k fold xác nhận chéo là có thể nhưng thể loại của tôi là rất không cân bằng. Tôi đã nhìn thấy cuộc thảo luận về chủ đề này nhưng không có câu trả lời dứt khoát thực sự.Gói Caret: Xác nhận chữ thập phân cấp trong chức năng đào tạo

Xin cảm ơn trước.

+0

Tôi cũng đang tìm câu trả lời ... Theo mặc định, hàm createFolds() tạo nếp gấp phân tầng. Nhưng tôi không chắc về hàm train khi sử dụng method = "cv" trong trainControl. – jbrettas

Trả lời

7

Có một tham số được gọi là 'chỉ mục' có thể cho phép người dùng chỉ định chỉ mục thực hiện xác thực chéo.

folds <- 4 
cvIndex <- createFolds(factor(training$Y), folds, returnTrain = T) 
tc <- trainControl(index = cvIndex, 
       method = 'cv', 
       number = folds) 

rfFit <- train(Y ~ ., data = training, 
      method = "rf", 
      trControl = tc, 
      maximize = TRUE, 
      verbose = FALSE, ntree = 1000) 
Các vấn đề liên quan