Làm thế nào để xác nhận chéo trong xe lửa (caret) hoạt động chính xác?


8

Tôi đã đọc khá nhiều bài viết về gói caret và tôi đặc biệt quan tâm đến chức năng đào tạo . Tuy nhiên, tôi không hoàn toàn chắc chắn nếu tôi đã hiểu chính xác cách thức hoạt động của chức năng tàu.

Để minh họa những suy nghĩ hiện tại của tôi, tôi đã soạn một ví dụ nhanh.

  • Đầu tiên, người ta chỉ định một lưới tham số. Giả sử tôi sử dụng phương thức gbm , theo đó, lưới tham số cho mô hình của tôi có thể trông như sau:

    grid <- expand.grid( .n.trees=seq(10,50,10), .interaction.depth=seq(1,4,1), .shrinkage=c(0.01,0.001), .n.minobsinnode=seq(5,20,5))
  • Sau đó, các tham số điều khiển cho tàu (trainControl) được xác định. Tôi muốn biết liệu suy nghĩ của tôi về xác nhận chéo bằng tàu hỏa có đúng không, và do đó, trong ví dụ này tôi sử dụng như sau:

    train_control <- trainControl('cv',10)
  • Cuối cùng, chức năng đào tạo được thực thi. Ví dụ:

    fit <- train(x,y,method="gbm",metric="Kappa",trControl=train_control,tuneGrid=grid)

Bây giờ cách tôi đoán rằng tàu hoạt động là như sau:

  1. Trong ví dụ trên, có 160 (5 * 4 * 2 * 4) kết hợp tham số có thể
  2. Đối với mỗi tàu kết hợp tham số thực hiện xác nhận chéo 10 lần
  3. Đối với mỗi kết hợp tham số và cho mỗi lần gấp (trong 10 lần), chỉ số hiệu suất (Kappa trong ví dụ của tôi) được tính toán (trong ví dụ của tôi, điều này ngụ ý rằng 1600 Kappa được tính toán)
  4. Đối với mỗi kết hợp tham số, giá trị trung bình của chỉ số hiệu suất được tính trên 10 lần
  5. Kết hợp tham số có chỉ số hiệu suất trung bình tốt nhất được coi là tham số tốt nhất cho mô hình

Câu hỏi của tôi rất đơn giản, những suy nghĩ hiện tại của tôi có đúng không?

Câu trả lời:


8

Ư, bạn đung. Nếu bạn muốn xem chi tiết:

  • Để quan sát kết quả qua tham số hóa và mô hình cuối cùng được chọn, bạn có thể so sánh fit$resultsvới fit$bestTunefit$finalModel(với cùng hiệu suất, mô hình ít phức tạp hơn được chọn).
  • Để quan sát hiệu suất của tham số mô hình cuối cùng trên mỗi phân vùng và lấy mẫu lại, hãy xem fit$resample. Lưu ý rằng với thay đổi giá trị cho returnResamptrong ?trainControlbạn có thể cấu hình kết quả mà bạn thấy ở đây (ví dụ: nếu bạn muốn xem những người cũng cho khác hơn là các thiết lập tham số cuối cùng được lựa chọn) - nhưng thường là mặc định nên được tốt.
  • Đối với quan sát dự đoán cá nhân thực hiện trong CV bạn có thể bật savePredictions = Ttrong ?trainControl, sau đó nhìn vào fit$pred, ví dụ như table(fit$pred$Resample).
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.