Evalml: Error de parcheo en pruebas de AutoMLSearch

Creado en 12 ene. 2021  ·  4Comentarios  ·  Fuente: alteryx/evalml

Los métodos de parcheo de canalizaciones .score() y .fit() están provocando los siguientes mensajes en las pruebas de AutoMLSearch:
image

Repro
pago principal

pytest -s evalml/tests/automl_tests/test_automl.py::test_automl_rerun
bug

Todos 4 comentarios

@ bchen1116 Si agrega un return_value al simulacro de puntaje, debería desaparecer:

@patch('evalml.pipelines.BinaryClassificationPipeline.score', return_value={"Log Loss Binary": 0.2})

@freddyaboulton ¿ es esto algo que debemos agregar a todos los .score() simulacros? ¿Y sería esta la mejor solución para este error?

Supongo que dudo en llamar a esto un error porque no cambia el comportamiento de automl de tal manera que hace que la prueba pase cuando debería fallar o viceversa.

El problema subyacente es que si no proporciona un return_value, se devuelve un MagicMock . Finalmente, vamos a registrar la puntuación con una cadena f:

logger.info(f"Best pipeline {self.objective.name}: {best_pipeline['score']:3f}")
Que usa el método __format__ para MagicMock, que supongo que no está definido.

Tal vez si cambiamos la forma en que se llama al registro, podemos evitar el registro feo, pero me preocupa que eso complique el código para poco beneficio.

¿Qué piensas?

Ah, ya veo, eso tiene sentido. No estaba seguro de dónde venía ese mensaje. Creo que el comportamiento está bien entonces, ya que no parece ser perjudicial para el comportamiento de AutoML. Gracias por la ayuda, ¡cerraré esto!

¿Fue útil esta página
0 / 5 - 0 calificaciones