Aan de slagGa gratis aan de slag

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

Cursus bekijken

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_fold om cross-validation uit te voeren met cross_val_score() en evalueer de precision en recall van je model (en gebruik dus niet recall_score() of precision_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))
Code bewerken en uitvoeren