Aan de slagGa gratis aan de slag

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

Cursus bekijken

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_index en test_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
Code bewerken en uitvoeren