K-fold перехресна валідація
Почнімо з практики найуживанішої K-fold перехресної валідації.
Дані, з якими ви працюватимете, взяті з Kaggle-змагання "Two sigma connect: rental listing inquiries". Завдання змагання — багатокласова класифікація оголошень про оренду на 3 класи: низька, середня та висока зацікавленість. Щоб пришвидшити виконання, ви працюватимете з підвибіркою з 1 000 спостережень.
Вам потрібно реалізувати стратегію валідації K-fold і переглянути розміри кожного отриманого фолду. Датафрейм train уже доступний у вашому робочому середовищі.
Ця вправа є частиною курсу
Як перемагати в змаганнях Kaggle за допомогою Python
Інструкції до вправи
- Створіть об'єкт
KFoldіз 3 фолдами. - Пройдіть циклом по кожному розбиттю, використовуючи об'єкт
kf. - Для кожного розбиття виберіть тренувальні й тестові фолди за допомогою
train_indexіtest_index.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Import KFold
from sklearn.model_selection import KFold
# Create a KFold object
kf = ____(n_splits=____, shuffle=True, random_state=123)
# Loop through each split
fold = 0
for train_index, test_index in ____.____(train):
# Obtain training and testing folds
cv_train, cv_test = train.iloc[____], train.iloc[____]
print('Fold: {}'.format(fold))
print('CV train shape: {}'.format(cv_train.shape))
print('Medium interest listings in CV train: {}\n'.format(sum(cv_train.interest_level == 'medium')))
fold += 1