Ограничения кросс-валидационного тестирования
Вы можете задать очень большие значения для параметров nfold и num_boost_round, если хотите провести интенсивную кросс-валидацию. Датафрейм cv_results_big уже загружен в рабочее пространство и был создан следующим кодом:
cv = xgb.cv(params, DTrain, num_boost_round = 600, nfold=10,
shuffle = True)
Здесь cv() выполнил 600 итераций кросс-валидации! Параметр shuffle указывает функции перемешивать записи при каждой итерации.
Изучите эти данные, чтобы посмотреть, каких значений достигает AUC, и проверьте, достигает ли он 1.0 при кросс-валидации. Также постройте график значений AUC на тестовой выборке, чтобы отследить динамику.
Датафрейм cv_results_big загружен в рабочее пространство.
Это упражнение является частью курса
Моделирование кредитного риска на Python
Инструкции к упражнению
- Выведите первые пять строк датафрейма с результатами кросс-валидации.
- Выведите среднее значение AUC на тестовой выборке из датафрейма результатов кросс-валидации, округлённое до двух знаков.
- Постройте линейный график значений AUC на тестовой выборке по итерациям.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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.____()