Seleccionar el mejor modelo por precisión
Tu jefa se ha ofrecido a pagarte para que veas tres partidos deportivos este año. De los 41 partidos en casa que juega tu equipo favorito, quieres asegurarte de ir a tres en casa que vayan a ganar con toda seguridad. Has creado un modelo para decidir qué partidos ganará tu equipo.
Para ello, vas a construir un algoritmo de búsqueda aleatoria y te centrarás en la precisión del modelo (para garantizar que tu equipo gane). También quieres guardar tu mejor modelo y sus mejores hiperparámetros, para poder reutilizarlos el año que viene (si el modelo funciona bien, claro). Ya has decidido usar el clasificador de random forest rfc y has generado una distribución de parámetros param_dist.
Este ejercicio forma parte del curso
Validación de modelos en Python
Instrucciones del ejercicio
- Crea un evaluador de precisión,
precision, usandomake_scorer(<scoring_function>). - Completa el método de búsqueda aleatoria utilizando
rfcyparam_dist. - Usa
rs.cv_results_para imprimir las puntuaciones medias del test. - Imprime la mejor puntuación global.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
from sklearn.metrics import precision_score, make_scorer
# Create a precision scorer
precision = ____(____)
# Finalize the random search
rs = RandomizedSearchCV(
estimator=____, param_distributions=____,
scoring = precision,
cv=5, n_iter=10, random_state=1111)
rs.fit(X, y)
# print the mean test scores:
print('The accuracy for each run was: {}.'.format(rs.cv_results_['____']))
# print the best model score:
print('The best accuracy for a single model was: {}'.format(rs.____))