Evalml: Échec de l'application de correctifs sur les tests AutoMLSearch

Créé le 12 janv. 2021  ·  4Commentaires  ·  Source: alteryx/evalml

Les méthodes de correctifs des pipelines .score() et .fit() provoquent les messages suivants dans les tests AutoMLSearch :
image

Repro
caisse principale

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

Tous les 4 commentaires

@bchen1116 Si vous ajoutez un return_value au score fictif, il devrait disparaître :

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

@freddyaboulton est-ce quelque chose que nous devons ajouter à toutes les .score() ? Et serait-ce la meilleure solution pour ce bug ?

Je suppose que j'hésite à appeler cela un bogue car cela ne modifie pas le comportement d'automl de manière à ce que le test réussisse lorsqu'il devrait échouer ou vice versa.

Le problème sous-jacent est que si vous ne fournissez pas de return_value, un MagicMock est renvoyé. Finalement, nous allons enregistrer le score avec une chaîne f :

logger.info(f"Best pipeline {self.objective.name}: {best_pipeline['score']:3f}")
Qui utilise la méthode __format__ pour le MagicMock, qui, je suppose, n'est pas définie.

Peut-être que si nous changeons la façon dont la journalisation est appelée, nous pouvons éviter le journal moche, mais je crains que cela ne complique le code pour peu d'avantages.

Qu'est-ce que tu penses?

Ah je vois, c'est logique. Je ne savais pas d'où venait ce message. Je pense que le comportement est bon alors, car il ne semble pas nuire au comportement d'AutoML. Merci pour l'aide, je vais clore ça !

Cette page vous a été utile?
0 / 5 - 0 notes