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
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_indexundtest_indexaus.
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