Dlaczego funkcja bootstrap scikit-learn ponownie próbkuje zestaw testowy?

15

Kiedy używałem bootstrapowania do oceny modelu, zawsze myślałem, że próbki z torebki były bezpośrednio używane jako zestaw testowy. Jednak wydaje się, że nie jest tak w przypadku przestarzałego podejścia scikit-learnBootstrap , które wydaje się budować zestaw testowy na podstawie rysowania z zastępowaniem z podzbioru danych poza torbą. Jakie jest uzasadnienie statystyczne? Czy istnieją konkretne scenariusze, w których ta technika jest lepsza niż tylko ocena próbki po wyjęciu z torby lub odwrotnie?

jeżyna
źródło
cross-validation? ponowne próbkowanie?
EngrStudent
Jeśli masz na myśli tag, nie został on dodany przeze mnie. Właściwie startuję jako alternatywa dla CV.
gibberfish
Myślę, że źle zrozumiałeś. W ramach krzyżowej weryfikacji kilkakrotnie powtórzą ten proces na podzbiorze danych i przyjrzą się zmienności wyników lub parametrów modelu. W takim przypadku sama zmiana parametru informuje o jakości dopasowania, a niekoniecznie o błędzie OOB. Nie znam konkretnej biblioteki, więc właśnie skomentowałem ten pomysł.
EngrStudent

Odpowiedzi:

3

Próbki bootstrap są używane do oceny wydajności algorytmu przez wiele iteracji. W ten sposób oceniana jest wydajność losowo zmienianych zestawów.

W przeciwieństwie do tego, wykonując na przykład 10-krotną weryfikację krzyżową, wykonuje się tylko 10 iteracji na różnych zestawach danych pociągu i testu.

n=20ja=10,000

Link, który publikujesz, jest wyłączony, więc dodałem opis funkcji w bieżącej (0.14) wersji sklearn

Opis metody

Losowe próbkowanie z zamiennym iteratorem walidacji krzyżowej Zapewnia wskaźniki pociągu / testu do podzielenia danych w zestawach testów pociągu podczas ponownego próbkowania wejściowych czasów n_iter: za każdym razem, gdy wykonywany jest nowy losowy podział danych, a następnie pobierane są próbki (z zamianą) z każdej strony podziału, aby zbudować zestawy szkoleniowe i testowe. Uwaga: w przeciwieństwie do innych strategii walidacji krzyżowej, ładowanie początkowe pozwoli na pojawienie się niektórych próbek kilka razy w każdym podziale. Jednak próbka występująca w podziale pociągu nigdy nie pojawi się w podziale testowym i odwrotnie. Jeśli chcesz, aby każda próbka wystąpiła najwyżej raz, prawdopodobnie zamiast tego należy użyć weryfikacji krzyżowej ShuffleSplit.

MaxBenChrist
źródło
2

Być może coś ci się podobało. Wygląda na to, że inni pociągnęli za ten sam wątek i Bootstrapzostał wycofany na korzyść bardziej celowego użycia tej resamplemetody przy użyciu takich wypróbowanych i prawdziwych sklearn.cross_validationmetod StratifiedKFold.

płyty grzewcze
źródło