Amostragem estratificada
Você já 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, precisa garantir que o modelo seja treinado com uma amostra representativa de todo o conjunto de dados. A amostragem estratificada é uma forma de fazer isso!
Este exercício faz parte do curso
Pré-processamento para Machine Learning em Python
Instruções do exercício
- Crie um DataFrame de atributos,
X, com todas as colunas excetocategory_desc. - Crie um DataFrame de rótulos,
y, a partir da colunacategory_desc. - Divida
Xeyem conjuntos de treino e de teste, garantindo que a distribuição das 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(____[____].____)