scikit-learns KFold()
Du hast gerade den Code einer Kollegin bzw. eines Kollegen ausgeführt, der ein Random-Forest-Modell erstellt und eine Out-of-Sample-Genauigkeit berechnet. Dabei ist dir aufgefallen, dass im Code kein random_state gesetzt wurde und die von dir gefundenen Fehler völlig andere sind als die, die deine Kollegin bzw. dein Kollege berichtet hat.
Um eine bessere Schätzung dafür zu bekommen, wie genau dieses Random-Forest-Modell auf neuen Daten sein wird, hast du entschieden, Indizes für eine KFold-Cross-Validation zu erzeugen.
Diese Übung ist Teil des Kurses
Modellvalidierung in Python
Anleitung zur Übung
- Rufe
KFold()auf, um die Daten mit fünf Splits, Shuffle und einemrandom_statevon 1111 zu teilen. - Verwende die Methode
split()vonKFoldaufX. - Gib die Anzahl der Indizes in der Trainings- und in der Validierungsindizes-Liste aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
from sklearn.model_selection import KFold
# Use KFold
kf = KFold(____, ____, ____)
# Create splits
splits = kf.____(____)
# Print the number of indices
for train_index, val_index in splits:
print("Number of training indices: %s" % len(____))
print("Number of validation indices: %s" % len(____))