Aan de slagGa gratis aan de slag

Grenzen aan cross-validatie testen

Je kunt zeer grote waarden opgeven voor zowel nfold als num_boost_round als je extreem veel cross-validatie wilt uitvoeren. Het gegevensframe cv_results_big is al in de werkruimte geladen en is gemaakt met de volgende code:

cv = xgb.cv(params, DTrain, num_boost_round = 600, nfold=10,
            shuffle = True)

Hier heeft cv() 600 iteraties van cross-validatie uitgevoerd! De parameter shuffle geeft aan dat de functie de records elke keer door elkaar husselt.

Bekijk deze gegevens om te zien wat de AUC-waarden zijn en controleer of ze via cross-validatie 1.0 bereiken. Je zou ook de test-AUC-score moeten plotten om de ontwikkeling te zien.

Het gegevensframe cv_results_big is in de werkruimte geladen.

Deze oefening maakt deel uit van de cursus

Kredietrisicomodellering in Python

Cursus bekijken

Oefeninstructies

  • Print de eerste vijf rijen van het CV-resultatenframe.
  • Print het gemiddelde van de testset-AUC uit het CV-resultatenframe, afgerond op twee decimalen.
  • Plot een lijngrafiek van de testset-AUC in de loop van elke iteratie.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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.____()
Code bewerken en uitvoeren