ПочатиПочніть безкоштовно

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
Редагувати та запускати код