Amostragem estratificada
Agora você sabe que a distribuição dos rótulos de classe na coluna category_desc do conjunto de dados volunteer é desigual. Se você quiser treinar um modelo para prever category_desc, precisará garantir que o modelo seja treinado em uma amostra de dados que seja representativa de todo o conjunto de dados. A amostragem estratificada é uma maneira de conseguir isso!
Este exercício faz parte do curso
Pré-processamento para aprendizado de máquina em Python
Instruções do exercício
- Crie um DataFrame de recursos,
X, com todas as colunas, excetocategory_desc. - Crie um DataFrame de rótulos,
ya partir da colunacategory_desc. - Divida
Xeyem conjuntos de treinamento e teste, garantindo que a distribuição de classes nos rótulos seja a mesma em ambos os conjuntos - Imprima os rótulos e as contagens em
y_trainusando.value_counts().
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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(____[____].____)