Стратифікована вибірка
Тепер ви знаєте, що розподіл міток класів у стовпці category_desc набору даних volunteer є нерівномірним. Якщо ви хочете навчити модель передбачати category_desc, потрібно подбати, щоб модель навчалася на вибірці, яка репрезентує весь набір даних. Стратифікована вибірка — це спосіб цього досягти!
Ця вправа є частиною курсу
Передобробка для машинного навчання в Python
Інструкції до вправи
- Створіть датафрейм ознак
Xз усіма стовпцями, окрімcategory_desc. - Створіть датафрейм міток
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(____[____].____)