Korsvalidering med sklearn
Som förklarades i kapitel 2 är överanpassning ett vanligt problem inom dataanalys. Det uppstår när en modell har lärt sig träningsdatan för väl: den presterar utmärkt på den data den tränades på, men generaliserar dåligt till ny data.
Metoden med tränings- och testuppdelning som du lärde dig i kapitel 2 skyddar mot överanpassning på träningsdata. Däremot kan hyperparameterjustering leda till överanpassning på testdatan, eftersom modellen justeras för att ge bästa möjliga resultat just på testmängden. Därför rekommenderas det att validera modellen på flera olika testmängder. K-faldig korsvalidering gör detta möjligt:
- datamängden delas upp i en träningsdel och en testdel
- modellen tränas, gör prediktioner och beräknar ett mått (du kan ange om du vill använda accuracy, precision, recall…)
- processen upprepas totalt k gånger
- genomsnittet av de 10 resultaten beräknas och returneras
I den här övningen använder du korsvalidering på vår datamängd och utvärderar resultaten med funktionen cross_val_score.
Den här övningen är en del av kursen
HR-analys: Förutsäg personalomsättning i Python
Övningsinstruktioner
- Importera funktionen för korsvalidering,
cross_val_score(), från modulensklearn.model_selection. - Skriv ut korsvalideringsresultatet för din modell och ange 10 veck med hyperparametern
cv.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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))