Cross-validation
Cross-validation is een techniek om de holdout-prestatie van een model te controleren. Dit helpt te verzekeren dat de testprestatie niet het gevolg is van toevalligheden in de datasplitsing. In deze oefening gebruik je implementaties uit sklearn om een K-fold cross-validation uit te voeren met de module KFold() om de precisie en recall van een beslissingsboom te beoordelen.
X_train, y_train, X_test, y_test zijn beschikbaar in je werkruimte. pandas als pd, numpy als np en sklearn zijn ook beschikbaar. KFold() en cross_val_score() uit sklearn.model_selection zijn eveneens beschikbaar.
Deze oefening maakt deel uit van de cursus
CTR voorspellen met Machine Learning in Python
Oefeninstructies
- Maak een decision tree-classifier.
- Richt een K-Fold cross-validation in met vier splits en ken die toe aan
k-fold. - Gebruik
k_foldom cross-validation uit te voeren metcross_val_score()en evalueer de precision en recall van je model (en gebruik dus nietrecall_score()ofprecision_score()!).
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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))