Aan de slagGa gratis aan de slag

Cross-validation met sklearn

Zoals uitgelegd in Hoofdstuk 2 is overfitting van de gegevensset een veelvoorkomend probleem in analytics. Dit gebeurt wanneer een model de data te precies heeft geleerd: het presteert heel goed op de gegevensset waarop het is getraind, maar generaliseert niet goed daarbuiten.

Hoewel de train/test-split die je in Hoofdstuk 2 leerde ervoor zorgt dat het model niet overfit op de trainingsset, kan hyperparameter tuning leiden tot overfitting op de testset, omdat je het model afstemt om de beste voorspellingen op die testset te halen. Daarom is het aan te raden om het model op verschillende testsets te valideren. K-fold cross-validation maakt dit mogelijk:

  • het splitst de gegevensset in een trainingsset en een testset
  • het traint het model, maakt voorspellingen en berekent een score (je kunt aangeven of je accuracy, precision, recall, … wilt)
  • het herhaalt dit proces in totaal k keer
  • het geeft het gemiddelde van de 10 scores terug

In deze oefening gebruik je Cross Validation op onze gegevensset en evalueer je de resultaten met de functie cross_val_score.

Deze oefening maakt deel uit van de cursus

HR-analytics: verloop van medewerkers voorspellen in Python

Cursus bekijken

Oefeninstructies

  • Importeer de functie voor het uitvoeren van cross-validation, cross_val_score(), uit de module sklearn.model_selection.
  • Print de cross-validation-score voor je model en geef 10 folds op met de hyperparameter cv.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Import the function for implementing cross validation
from sklearn.model_selection import ____

# Use that function to print the cross validation score for 10 folds
print(____(model,features,target,____=10))
Code bewerken en uitvoeren