LoslegenKostenlos loslegen

K-Fold-Cross-Validation

Du startest mit praktischer Erfahrung in der am häufigsten verwendeten K-Fold-Cross-Validation.

Die Daten stammen aus der Kaggle-Competition "Two sigma connect: rental listing inquiries". Das Problem ist eine Multiclass-Klassifikation der Wohnungsanzeigen in 3 Klassen: geringes Interesse, mittleres Interesse und hohes Interesse. Für bessere Laufzeiten arbeitest du mit einer Teilstichprobe aus 1.000 Beobachtungen.

Deine Aufgabe ist es, eine K-Fold-Validierungsstrategie zu implementieren und dir die Größen der einzelnen Folds anzusehen. Der DataFrame train steht in deinem Workspace bereits zur Verfügung.

Diese Übung ist Teil des Kurses

Eine Kaggle-Competition in Python gewinnen

Kurs anzeigen

Anleitung zur Übung

  • Erstelle ein KFold-Objekt mit 3 Folds.
  • Iteriere über jeden Split mit dem Objekt kf.
  • Wähle für jeden Split die Trainings- und Test-Folds mit train_index und test_index aus.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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 bearbeiten und ausführen