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
<Kurs>CTR-Vorhersage mit Machine Learning in Python</Kurs>Übungsanweisungen
- 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 praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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))