17 votos

¿Por qué la función bootstrap de scikit-learn remuestrea el conjunto de pruebas?

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?

4voto

H-H Puntos 106

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 .

3voto

Shoaib Mehmood Puntos 91

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.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X