Tôi đã đọc một số bài viết về lựa chọn tính năng và xác thực chéo nhưng tôi vẫn có câu hỏi về quy trình chính xác.
Giả sử tôi có một bộ dữ liệu với 10 tính năng và tôi muốn chọn các tính năng tốt nhất. Cũng giả sử tôi đang sử dụng một phân loại hàng xóm gần nhất. Tôi có thể thực hiện tìm kiếm toàn diện bằng cách sử dụng xác thực chéo để ước tính tỷ lệ lỗi làm hướng dẫn để chọn các tính năng tốt nhất không? Một cái gì đó giống như mã giả sau đây
for i=1:( 2^10 -1)
error(i)= crossval(1-nn, selected_fetures(i))
end
i=find(erro(i)==min(error(i));
selected_fetures= selected_features(i);
Điều tôi đang cố gắng giải thích trong mã giả này là tôi đang chạy xác thực chéo cho tất cả các kết hợp tính năng có thể và chọn kết hợp đưa ra lỗi tối thiểu.
Tôi nghĩ rằng quy trình này là chính xác bởi vì tôi đang thực hiện tìm kiếm toàn diện. Việc lựa chọn các tính năng không dựa trên toàn bộ tập dữ liệu, mà dựa trên lỗi trung bình trên mỗi phân vùng. Tôi có quá mức cho mô hình với lựa chọn tính năng như vậy không?