Estatísticas de validação cruzada
Você usou grid search com validação cruzada para ajustar seu classificador de random forest e agora quer inspecionar os resultados da validação cruzada para garantir que não houve overfitting. Em particular, você gostaria de calcular a diferença entre a pontuação média de teste de cada fold e a pontuação média de treino. O conjunto de dados está disponível como X_train e y_train, o pipeline como pipe, e vários módulos já estão carregados, incluindo pandas como pd e GridSearchCV().
Este exercício faz parte do curso
Projetando Workflows de Machine Learning em Python
Instruções do exercício
- Crie um objeto de grid search com três folds de validação cruzada e garanta que ele retorne estatísticas de treino e de teste.
- Ajuste o objeto de grid search aos dados de treino.
- Armazene os resultados da validação cruzada, disponíveis no atributo
cv_results_do objeto de CV ajustado, em um dataframe. - Imprima a diferença entre a coluna que contém a média da pontuação de teste e a que contém a média da pontuação de treino.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Fit your pipeline using GridSearchCV with three folds
grid_search = GridSearchCV(
pipe, params, ____=3, return_train_score=____)
# Fit the grid search
gs = grid_search.____(____, ____)
# Store the results of CV into a pandas dataframe
results = pd.____(gs.____)
# Print the difference between mean test and training scores
print(
results[____]-results['mean_train_score'])