НачатьНачать бесплатно

K-блочная кросс-валидация

Начнём с практики наиболее распространённого метода — K-блочной кросс-валидации.

Вы будете работать с данными из соревнования Kaggle «Two sigma connect: rental listing inquiries». Задача соревнования — мультиклассовая классификация объявлений об аренде на 3 класса: низкий интерес, средний интерес и высокий интерес. Для ускорения работы вы будете использовать подвыборку из 1 000 наблюдений.

Вам нужно реализовать стратегию K-блочной кросс-валидации и изучить размеры каждого блока. DataFrame 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
Редактировать и запускать код