ComenzarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Crea un evaluador de precisión, precision, usando make_scorer(<scoring_function>).
  • Completa el método de búsqueda aleatoria utilizando rfc y param_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.____))
Editar y ejecutar código