Validação cruzada K-fold
Você vai começar ganhando prática com a validação cruzada K-fold, a mais utilizada.
Os dados que você vai usar são da competição do Kaggle "Two sigma connect: rental listing inquiries". O problema da competição é uma classificação multiclasse dos anúncios de aluguel em 3 classes: baixo interesse, médio interesse e alto interesse. Para acelerar a execução, você vai trabalhar com uma subamostra composta por 1.000 observações.
Você precisa implementar uma estratégia de validação K-fold e conferir os tamanhos de cada dobras obtidas. O DataFrame train já está disponível no seu workspace.
Este exercício faz parte do curso
Vencendo uma competição do Kaggle em Python
Instruções do exercício
- Crie um objeto
KFoldcom 3 dobras. - Faça um loop sobre cada divisão usando o objeto
kf. - Para cada divisão, selecione as dobras de treino e teste usando
train_indexetest_index.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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