Tại sao hàm bootstrap của scikit-learn lại mẫu thử nghiệm?


15

Khi sử dụng bootstrapping để đánh giá mô hình, tôi luôn nghĩ rằng các mẫu ngoài túi được sử dụng trực tiếp làm bộ thử nghiệm. Tuy nhiên, điều này dường như không phải là trường hợp cho NỮA scikit-họcBootstrap cách tiếp cận, mà dường như để xây dựng các thiết lập thử nghiệm từ bản vẽ với thay thế từ out-of-túi tập con dữ liệu. Lý do thống kê đằng sau này là gì? Có kịch bản cụ thể nào mà kỹ thuật này tốt hơn là chỉ đánh giá trên mẫu ngoài túi hoặc ngược lại không?


xác nhận chéo? lấy mẫu lại?
EngrStudent

Nếu bạn đang đề cập đến thẻ, điều đó không được tôi thêm vào. Tôi thực sự đang bootstrapping như một sự thay thế cho CV.
cá vược

Tôi nghĩ bạn hiểu lầm. Trong xác nhận chéo, họ sẽ lặp lại quá trình nhiều lần trên một tập hợp con của dữ liệu và xem xét sự thay đổi trong kết quả hoặc tham số mô hình. Trong trường hợp đó, chính biến thể tham số cho biết chất lượng của sự phù hợp và không nhất thiết là lỗi OOB. Tôi không quen thuộc với thư viện cụ thể vì vậy tôi chỉ để lại một bình luận với ý tưởng.
EngrStudent

Câu trả lời:


3

Các mẫu Bootstrap được sử dụng để đánh giá hiệu năng của thuật toán bằng nhiều lần lặp. Trong khi làm như vậy, hiệu suất trên các bộ thay đổi ngẫu nhiên được đánh giá.

Ngược lại khi thực hiện ví dụ 10 Xác thực chéo chéo, bạn chỉ thực hiện 10 lần lặp trên các bộ dữ liệu thử nghiệm và tàu khác nhau.

Bây giờ khi kích thước mẫu của bạn nhỏ, giả sử và số lần lặp bootstrap cao, hãy chọn và bạn không lấy mẫu lại dữ liệu thử nghiệm của mình như bạn làm với bộ dữ liệu xe lửa của bạn, bạn sẽ gặp tình huống trong đó thuật toán thấy thử nghiệm tương tự hoặc rất giống nhau nhiều hơn một lần. Một tình huống ban đầu bạn muốn tránh bằng cách sử dụng bootstrap.n=20i=10,000

Liên kết bạn đăng tải bị hỏng, vì vậy tôi đã thêm mô tả chức năng trong phiên bản (0.14) hiện tại của sklearn

Mô tả phương pháp

Lấy mẫu ngẫu nhiên với trình lặp xác thực chéo thay thế Cung cấp các chỉ số đào tạo / kiểm tra để phân tách dữ liệu trong các bộ kiểm tra tàu trong khi lấy mẫu lại số lần đầu tiên: mỗi lần phân tách dữ liệu ngẫu nhiên mới được thực hiện và sau đó các mẫu được rút ra (có thay thế) ở mỗi bên của sự phân chia để xây dựng các bộ đào tạo và thử nghiệm. Lưu ý: trái với các chiến lược xác thực chéo khác, bootstrapping sẽ cho phép một số mẫu xảy ra nhiều lần trong mỗi lần phân tách. Tuy nhiên, một mẫu xảy ra trong phần tách tàu sẽ không bao giờ xảy ra trong phần tách thử nghiệm và ngược lại. Nếu bạn muốn mỗi mẫu xảy ra nhiều nhất một lần, có lẽ bạn nên sử dụng xác thực chéo ShuffleSplit thay thế.


2

Có lẽ bạn đã vào một cái gì đó. Có vẻ như những người khác đã kéo theo cùng một chủ đề và Bootstrapđã không tán thành việc sử dụng phương pháp có chủ ý hơn với các resamplephương pháp đã được thử và đúng sklearn.cross_validationnhư thế nào StratifiedKFold.

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.