Стратифицированная выборка
Вы уже знаете, что распределение меток классов в столбце category_desc набора данных volunteer неравномерно. Если вы хотите обучить модель для предсказания category_desc, необходимо убедиться, что обучение проходит на данных, репрезентативных для всего набора. Стратифицированная выборка — именно то, что здесь поможет!
Это упражнение является частью курса
Предобработка данных для машинного обучения на Python
Инструкции к упражнению
- Создайте DataFrame признаков
X, включив в него все столбцы, кромеcategory_desc. - Создайте DataFrame меток
yиз столбцаcategory_desc. - Разделите
Xиyна обучающую и тестовую выборки, обеспечив одинаковое распределение классов меток в обеих частях. - Выведите метки и количество вхождений в
y_trainс помощью.value_counts().
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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(____[____].____)