Muestreo estratificado
Ahora sabes que la distribución de las etiquetas de clase en la columna category_desc
del conjunto de datos volunteer
es desigual. Si quieres entrenar un modelo para predecir category_desc
, tendrás que asegurarte de que el modelo se entrena en una muestra de datos que sea representativa de todo el conjunto de datos. El muestreo estratificado es una forma de conseguirlo.
Este ejercicio forma parte del curso
Preprocesamiento para machine learning en Python
Instrucciones de ejercicio
- Crea un DataFrame de características,
X
, con todas las columnas exceptocategory_desc
. - Crea un DataFrame de etiquetas,
y
a partir de la columnacategory_desc
. - Divide
X
yy
en conjuntos de entrenamiento y de prueba, asegurándote de que la distribución de clases en las etiquetas es la misma en ambos conjuntos. - Imprime las etiquetas y los recuentos en
y_train
utilizando.value_counts()
.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# Create a DataFrame with all columns except category_desc
X = volunteer.____(____, axis=____)
# Create a category_desc labels dataset
y = ____[[____]]
# Use stratified sampling to split up the dataset according to the y dataset
X_train, X_test, y_train, y_test = ____(____, ____, ____, random_state=42)
# Print the category_desc counts from y_train
print(____[____].____)