Limitele testării prin validare încrucișată
Poți specifica valori foarte mari atât pentru nfold, cât și pentru num_boost_round, dacă vrei să efectuezi un număr extrem de mare de iterații de validare încrucișată. DataFrame-ul cv_results_big a fost deja încărcat în spațiul de lucru și a fost creat cu următorul cod:
cv = xgb.cv(params, DTrain, num_boost_round = 600, nfold=10,
shuffle = True)
Aici, cv() a efectuat 600 de iterații de validare încrucișată! Parametrul shuffle îi spune funcției să amestece înregistrările la fiecare iterație.
Analizează aceste date pentru a vedea care sunt valorile AUC și verifică dacă ajung la 1.0 prin validare încrucișată. De asemenea, reprezintă grafic scorul AUC de test pentru a urmări evoluția acestuia.
DataFrame-ul cv_results_big a fost încărcat în spațiul de lucru.
Acest exercițiu face parte din cursul
Modelarea Riscului de Credit în Python
Instrucțiuni pentru exercițiu
- Afișează primele cinci rânduri din DataFrame-ul cu rezultatele validării încrucișate.
- Afișează media scorului AUC pe setul de test din DataFrame-ul cu rezultatele validării încrucișate, rotunjită la două zecimale.
- Reprezintă grafic, printr-un grafic de tip linie, evoluția scorului AUC pe setul de test de-a lungul fiecărei iterații.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Print the first five rows of the CV results data frame
print(____.____())
# Calculate the mean of the test AUC scores
print(np.____(____[____]).round(2))
# Plot the test AUC scores for each iteration
plt.____(____[____])
plt.title('Test AUC Score Over 600 Iterations')
plt.xlabel('Iteration Number')
plt.ylabel('Test AUC Score')
plt.____()