Grenzen von Cross-Validation-Tests
Du kannst für nfold und num_boost_round sehr große Zahlen angeben, wenn du extrem viel Cross-Validation durchführen möchtest. Der DataFrame cv_results_big wurde bereits in den Workspace geladen und mit folgendem Code erstellt:
cv = xgb.cv(params, DTrain, num_boost_round = 600, nfold=10,
shuffle = True)
Hier hat cv() 600 Iterationen der Cross-Validation durchgeführt! Der Parameter shuffle weist die Funktion an, die Einträge bei jedem Durchlauf zu mischen.
Schau dir diese Daten an, um die AUC-Werte zu sehen, und prüfe, ob sie mit Cross-Validation 1.0 erreichen. Du solltest außerdem die Test-AUC plotten, um den Verlauf zu sehen.
Der DataFrame cv_results_big wurde in den Workspace geladen.
Diese Übung ist Teil des Kurses
Kreditrisikomodellierung in Python
Anleitung zur Übung
- Gib die ersten fünf Zeilen des CV-Ergebnis-DataFrames aus.
- Gib den Durchschnitt der Test-AUC aus dem CV-Ergebnis-DataFrame auf zwei Stellen gerundet aus.
- Erstelle ein Liniendiagramm der Test-AUC über alle Iterationen hinweg.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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.____()