Usar los mejores resultados
Aunque es interesante analizar los resultados de nuestra búsqueda en cuadrícula, nuestro objetivo final es práctico: queremos hacer predicciones sobre nuestro conjunto de prueba usando nuestro objeto estimador.
Podemos acceder a este objeto a través de la propiedad best_estimator_ de nuestro objeto de grid search.
Echemos un vistazo a la propiedad best_estimator_, hagamos predicciones y generemos métricas de evaluación. Primero usaremos el predict predeterminado (que devuelve clases), pero luego necesitaremos usar predict_proba en lugar de predict para calcular el roc-auc, ya que roc-auc necesita probabilidades para su cálculo. Usamos un corte [:,1] para obtener las probabilidades de la clase positiva.
Tienes disponibles los conjuntos de datos X_test y y_test, y el objeto grid_rf_class de los ejercicios anteriores.
Este ejercicio forma parte del curso
Ajuste de hiperparámetros en Python
Instrucciones del ejercicio
- Comprueba el tipo de la propiedad
best_estimator_. - Usa la propiedad
best_estimator_para hacer predicciones sobre nuestro conjunto de prueba. - Genera una matriz de confusión y una puntuación ROC_AUC a partir de nuestras predicciones.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# See what type of object the best_estimator_ property is
print(____(____.____))
# Create an array of predictions directly using the best_estimator_ property
predictions = grid_rf_class.____._____(X_test)
# Take a look to confirm it worked, this should be an array of 1's and 0's
print(predictions[0:5])
# Now create a confusion matrix
print("Confusion Matrix \n", confusion_matrix(y_test, ______))
# Get the ROC-AUC score
predictions_proba = grid_rf_class.best_estimator_.predict_proba(X_test)[:,1]
print("ROC-AUC Score \n", roc_auc_score(y_test, _____))