Cuando se utiliza el bootstrapping para la evaluación de modelos, siempre pensé que las muestras fuera de la bolsa se utilizaban directamente como conjunto de pruebas. Sin embargo, parece que no es el caso del obsoleto scikit-learn Bootstrap
que parece construir el conjunto de pruebas a partir de la extracción con reemplazo del subconjunto de datos fuera de la bolsa. ¿Cuál es el razonamiento estadístico que hay detrás de esto? ¿Existen situaciones específicas en las que esta técnica es mejor que la evaluación de la muestra fuera de la bolsa o viceversa?
Respuestas
¿Demasiados anuncios?Tal vez hayas dado con algo. Parece que otros tiraron del mismo hilo y Bootstrap
se ha dejado de lado en favor de un sistema más intencional uso de la resample
con el método probado y verdadero sklearn.cross_validation
enfoques como StratifiedKFold
.
Las muestras Bootstrap se utilizan para evaluar el rendimiento del algoritmo mediante muchas iteraciones. Al hacerlo, se evalúa el rendimiento en conjuntos modificados aleatoriamente.
Por el contrario, cuando se hace, por ejemplo, una validación cruzada de 10 pliegues, sólo se realizan 10 iteraciones en diferentes conjuntos de datos de entrenamiento y de prueba.
Ahora bien, cuando el tamaño de la muestra es pequeño, digamos $n=20$ y el número de iteraciones del bootstrap es alto, vamos a elegir $i=10,000$ y no remuestrea sus datos de prueba como lo hace con su conjunto de datos de entrenamiento, tendrá situaciones en las que su algoritmo ve la misma prueba o una muy similar más de una vez. Una situación que originalmente querías evitar usando bootstrap.
El enlace que has puesto no funciona, así que he añadido la descripción de la función en la versión actual (0.14) de sklearn
Descripción del método
Muestreo aleatorio con iterador de validación cruzada de reemplazo Proporciona índices de entrenamiento/prueba para dividir los datos en conjuntos de entrenamiento y prueba mientras se remuestrea la entrada n_iter veces: cada vez se realiza una nueva división aleatoria de los datos y luego se extraen muestras (con reemplazo) a cada lado de la división para construir los conjuntos de entrenamiento y prueba. Nota: a diferencia de otras estrategias de validación cruzada, el bootstrapping permitirá que algunas muestras aparezcan varias veces en cada división. Sin embargo, una muestra que aparece en la división de entrenamiento nunca aparecerá en la división de prueba y viceversa. Si desea que cada muestra aparezca como máximo una vez, probablemente debería utilizar la validación cruzada ShuffleSplit.