K-fold cross-validatie
Je gaat beginnen met praktische ervaring opdoen met de meest gebruikte K-fold cross-validatie.
De gegevens waarmee je werkt komen uit de Kaggle-competitie "Two sigma connect: rental listing inquiries". Het probleem in deze competitie is een multi-class-classificatie van huuradvertenties in 3 klassen: weinig interesse, gemiddelde interesse en veel interesse. Voor snellere performance werk je met een deelsteekproef van 1.000 observaties.
Je moet een K-fold-validatiestrategie implementeren en kijken naar de omvang van elke verkregen fold. De DataFrame train is al beschikbaar in je werkruimte.
Deze oefening maakt deel uit van de cursus
Een Kaggle-competitie winnen met Python
Oefeninstructies
- Maak een
KFold-object met 3 folds. - Loop over elke split met het
kf-object. - Selecteer voor elke split de training- en testfolds met
train_indexentest_index.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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