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,
y
a partir da colunacategory_desc
. - Divida
X
ey
em 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_train
usando.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(____[____].____)