Kreuzvalidierung
Kreuzvalidierung ist eine Technik, mit der die Holdout-Performance eines Modells überprüft wird. So stellst du sicher, dass die Testleistung nicht auf Besonderheiten bei der Datenaufteilung zurückzuführen ist. In dieser Übung nutzt du Implementierungen aus sklearn, um mit dem Modul KFold() eine K-Fold-Kreuzvalidierung auszuführen und die Precision und Recall eines Entscheidungsbaums zu beurteilen.
X_train, y_train, X_test, y_test sind in deinem Workspace verfügbar. pandas als pd, numpy als np und sklearn stehen dir ebenfalls zur Verfügung. KFold() und cross_val_score() aus sklearn.model_selection sind ebenfalls verfügbar.
Diese Übung ist Teil des Kurses
CTR-Vorhersage mit Machine Learning in Python
Anleitung zur Übung
- Erstelle einen Decision-Tree-Klassifikator.
- Richte eine K-Fold-Kreuzvalidierung mit vier Splits ein und weise sie
k-foldzu. - Verwende
k_fold, um mitcross_val_score()die Kreuzvalidierung auszuführen und Precision und Recall deines Modells zu evaluieren (und dabei nichtrecall_score()oderprecision_score()zu verwenden!).
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Create model
clf = ____
# Set up k-fold
k_fold = ____(n_splits = 4, random_state = 0, shuffle = True)
# Evaluate precision and recall for each fold
precision = ____(
clf, X_train, ____, cv = ____, scoring = 'precision_weighted')
recall = ____(
clf, X_train, ____, cv = ____, scoring = 'recall_weighted')
print("Precision scores: %s" %(precision))
print("Recall scores: %s" %(recall))