Có cách nào để tắt tính năng điều chỉnh tham số (lưới) trong CARET không?


15

CARET sẽ tự động sử dụng lưới điều chỉnh được chỉ định trước để xây dựng các mô hình khác nhau trước khi chọn một mô hình cuối cùng, sau đó đào tạo mô hình cuối cùng trên dữ liệu đào tạo đầy đủ. Tôi có thể cung cấp lưới điều chỉnh của riêng mình chỉ với một kết hợp các tham số. Tuy nhiên, ngay cả trong trường hợp này, CARET "chọn" mô hình tốt nhất trong số các tham số điều chỉnh (mặc dù chỉ có một trong trường hợp này), và sau đó khớp mô hình cuối cùng với tất cả dữ liệu huấn luyện. Đây là một bước bổ sung tôi muốn tránh.

Làm cách nào để tôi đơn giản bỏ qua bước tìm kiếm mô hình qua các biến thể trong lưới điều chỉnh và buộc CARET xây dựng trên tất cả dữ liệu đào tạo (ngoài việc gọi trực tiếp thư viện mô hình bên dưới)?


1
Câu hỏi khá không rõ ràng, điều này có thể giải thích tại sao bạn nhận được câu trả lời trả lời các câu hỏi khác nhau, cụ thể là 1) Làm thế nào để tôi nói với caret bỏ qua xác thực mô hình VÀ điều chỉnh? và 2) Làm cách nào để tắt điều chỉnh mô hình?
Johan Larsson

Câu trả lời:


17

Bạn có thể chỉ định method="none"trong trainControl. Ví dụ:

train(Species ~ ., data=iris, method="rf", tuneGrid=data.frame(mtry=3),
  trControl=trainControl(method="none"))

Tôi không chắc chắn khi điều này được thực hiện.


9

Cách tốt nhất là cung cấp rõ ràng khung dữ liệu TuneGrid. Chẳng hạn, rừng ngẫu nhiên chỉ có một tham số điều chỉnh, 'mtry', điều khiển số lượng tính năng được chọn cho mỗi cây.

Để đặt mtry ở một giá trị cụ thể, bạn có thể chọn mặc định RandomForest (? RandomForest) làm điều này:

model <- train(x = X, y = Y, method = 'rf', tuneGrid = data.frame(.mtry = M))

Trong đó M là một giá trị của tham số điều chỉnh bạn muốn sử dụng.

cho nhiều tham số điều chỉnh làm điều này:

tuneGrid = data.frame(.par1 = P1, .par2 = P2, .par3 = P3)

Chào mừng đến với trang web của chúng tôi, Brent! Cảm ơn đã theo dõi với câu hỏi cũ này.
whuber

4
Gợi ý dưới đây method="none"là giải pháp tốt hơn.
topepo

1

Tôi không nghĩ là có thể (ít nhất là không thể như một vài phiên bản trước). Người ta có thể giảm tác động hiệu suất bằng cách chỉ thiết lập một phân vùng lấy mẫu lại trong dữ liệu huấn luyện (nhưng caret vẫn sẽ đào tạo một mô hình hai lần)

Đây có vẻ là một tính năng hữu ích để tôi có thể ping tác giả của gói.


Xin lỗi, câu trả lời này đã lỗi thời
smci 16/07/2015
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.