Begränsningar vid korsvalidering
Du kan ange mycket stora värden för både nfold och num_boost_round om du vill utföra en omfattande korsvalidering. Dataramen cv_results_big har redan laddats in i arbetsytan och skapades med följande kod:
cv = xgb.cv(params, DTrain, num_boost_round = 600, nfold=10,
shuffle = True)
Här utförde cv() hela 600 iterationer av korsvalidering! Parametern shuffle instruerar funktionen att blanda posterna vid varje iteration.
Undersök dessa data för att se vad AUC-värdena är och kontrollera om de når 1.0 med korsvalidering. Plotta även test-AUC-poängen för att se hur den utvecklas över iterationerna.
Dataramen cv_results_big har laddats in i arbetsytan.
Den här övningen är en del av kursen
Kreditriskmodellering i Python
Övningsinstruktioner
- Skriv ut de fem första raderna i dataramen med korsvalideringsresultat.
- Skriv ut medelvärdet av test-AUC från dataramen med korsvalideringsresultat, avrundat till två decimaler.
- Plotta ett linjediagram över test-AUC för varje iteration.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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.____()