Limiti del testing con convalida incrociata
Puoi impostare numeri molto grandi sia per nfold sia per num_boost_round se vuoi eseguire una quantità estrema di convalida incrociata. Il data frame cv_results_big è già stato caricato nell'ambiente di lavoro ed è stato creato con il seguente codice:
cv = xgb.cv(params, DTrain, num_boost_round = 600, nfold=10,
shuffle = True)
Qui, cv() ha eseguito 600 iterazioni di convalida incrociata! Il parametro shuffle indica alla funzione di mescolare i record ogni volta.
Dai un'occhiata a questi dati per vedere quali sono le AUC e verifica se raggiungono 1.0 usando la convalida incrociata. Dovresti anche tracciare il punteggio AUC di test per vedere l'andamento.
Il data frame cv_results_big è stato caricato nell'ambiente di lavoro.
Questo esercizio fa parte del corso
Credit Risk Modeling in Python
Istruzioni dell'esercizio
- Stampa le prime cinque righe del data frame dei risultati della CV.
- Stampa la media dell'AUC del test set dal data frame dei risultati della CV, arrotondata a due decimali.
- Traccia un grafico a linee dell'AUC del test set nel corso di ciascuna iterazione.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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.____()