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