Limites do teste de validação cruzada
Você pode definir números muito grandes para nfold e num_boost_round se quiser realizar uma quantidade extrema de validação cruzada. O data frame cv_results_big já foi carregado no workspace e foi criado com o seguinte código:
cv = xgb.cv(params, DTrain, num_boost_round = 600, nfold=10,
shuffle = True)
Aqui, cv() executou 600 iterações de validação cruzada! O parâmetro shuffle informa à função para embaralhar os registros a cada vez.
Dê uma olhada nesses dados para ver quais são os valores de AUC e verifique se eles chegam a 1.0 usando validação cruzada. Você também deve plotar o AUC de teste para ver a evolução.
O data frame cv_results_big foi carregado no workspace.
Este exercício faz parte do curso
Modelagem de Risco de Crédito em Python
Instruções do exercício
- Imprima as cinco primeiras linhas do data frame de resultados da VC.
- Imprima a média do AUC do conjunto de teste do data frame de resultados da VC arredondada para duas casas decimais.
- Faça um gráfico de linha do AUC do conjunto de teste ao longo de cada iteração.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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.____()