Validarea încrucișată cu sklearn
Așa cum s-a explicat în Capitolul 2, supraadaptarea (overfitting) setului de date este o problemă frecventă în analiză. Aceasta apare atunci când un model a învățat datele prea exact: obține performanțe excelente pe setul de date pe care a fost antrenat, dar nu reușește să generalizeze în afara acestuia.
Deși tehnica de împărțire în set de antrenament și set de testare, pe care ai învățat-o în Capitolul 2, asigură că modelul nu supraadaptează setul de antrenament, ajustarea hiperparametrilor poate duce la supraadaptarea componentei de testare, deoarece presupune calibrarea modelului pentru a obține cele mai bune rezultate de predicție pe setul de testare. Prin urmare, este recomandat să validezi modelul pe mai multe seturi de testare diferite. Validarea încrucișată k-fold ne permite să realizăm acest lucru:
- împarte setul de date într-un set de antrenament și un set de testare
- antrenează modelul, face predicții și calculează un scor (poți specifica dacă dorești acuratețea, precizia, recall-ul…)
- repetă procesul de k ori în total
- returnează media celor 10 scoruri
În acest exercițiu, vei aplica validarea încrucișată pe setul nostru de date și vei evalua rezultatele cu funcția cross_val_score.
Acest exercițiu face parte din cursul
HR Analytics: Predicția fluctuației angajaților în Python
Instrucțiuni pentru exercițiu
- Importă funcția pentru implementarea validării încrucișate,
cross_val_score(), din modululsklearn.model_selection. - Afișează scorul validării încrucișate pentru modelul tău, specificând 10 segmente cu hiperparametrul
cv.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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))