Zacznij terazZacznij za darmo

Ograniczenia testowania za pomocą walidacji krzyżowej

Możesz ustawić bardzo duże wartości zarówno dla nfold, jak i num_boost_round, jeśli chcesz przeprowadzić intensywną walidację krzyżową. Ramka danych cv_results_big została już wczytana do przestrzeni roboczej i powstała przy użyciu następującego kodu:

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

W tym przypadku cv() wykonało 600 iteracji walidacji krzyżowej! Parametr shuffle nakazuje funkcji losowe przetasowanie rekordów przy każdej iteracji.

Przyjrzyj się tym danym, sprawdź uzyskane wartości AUC i zweryfikuj, czy przy użyciu walidacji krzyżowej osiągają one 1.0. Narysuj też wykres wyniku AUC ze zbioru testowego, aby zobaczyć, jak zmienia się on w kolejnych iteracjach.

Ramka danych cv_results_big została wczytana do przestrzeni roboczej.

To ćwiczenie jest częścią kursu

Modelowanie ryzyka kredytowego w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Wyświetl pierwsze pięć wierszy ramki danych z wynikami walidacji krzyżowej.
  • Wyświetl średnią wartość AUC ze zbioru testowego z ramki danych z wynikami walidacji krzyżowej, zaokrągloną do dwóch miejsc po przecinku.
  • Narysuj wykres liniowy przedstawiający wartość AUC ze zbioru testowego w kolejnych iteracjach.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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.____()
Edytuj i uruchom kod