AutoML experiment: get model and metrics for any algorithm (not only for the best one)
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- azure, jupyter-notebook, python
- Bereich
- api, machine-learning
Rechercherichtung
Beginne mit der im Issue gezeigten Verwendung des MLflow-Clients, einschließlich get_run, des Tags automl_best_child_run_id und pipeline_id_000. Verfolge, wie AutoML-Kindläufe identifiziert werden und wie Algorithmusnamen mit ihren internen Laufnamen zusammenhängen. Als erledigt gilt, wenn die Abfrage eines Modells und seiner Metriken für jeden Algorithmus im Experiment dokumentiert oder ermöglicht ist, nicht nur für den besten Lauf.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
What I'm trying to do
For an AutoML Forecasting experiment, I'd like to compare the performance of the best model with the performance of another model from the same experiment.
For an AutoML run, I understand how to get the best performing model and its metrics like this:
# ...initialize MLFlow client...
mlflow_parent_run = mlflow_client.get_run('upbeat_square_abs3942')
best_child_run_id = mlflow_parent_run.data.tags["automl_best_child_run_id"]
best_run = mlflow_client.get_run(best_child_run_id)
best_run.data.metrics
# etc...
But how can I fetch the job for any model based on the algorithm name?
Something like:
# pseudocode:
mlflow_client.get_automl_run_by_algorithm('XGBoostRegressor')
So far, I managed to figure out the following:
- list of algorithms used in the AutoML experiment
mlflow_parent_run.data.tags['pipeline_id_000']
# '__AutoML_Naive__;__AutoML_SeasonalNaive__;__AutoML_Average__;__AutoML_SeasonalAverage__;__AutoML_Ensemble__'
However, this list seems to be in an arbitrary order and I struggle to get the corresponding job names for the algorithms.
- "internal" job names for the child runs
The child runs seem to have different names than the names shown in Azure ML Studio.
They are named for instance upbeat_square_abs3942_2 - i.e. the name of the parent run upbeat_square_abs3942 followed by underscore plus a number (_2in this example).
But Azure ML Studio displays names like (no upbeat_square_abs3942_2 to be found):

So this code works:
child_run = mlflow_client.get_run('upbeat_square_abs3942_2')
but using a name shown in the screenshot above throws an exception, e.g.
child_run = mlflow_client.get_run('green_floor_0ln3tlpv')
Question
How can I obtain the model and metrics for any algorithm used in the experiment?
Thanks!
- Vorherrschende Sprache
- Jupyter Notebook
- Sterne
- 4.4k
- Forks
- 2.6k
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus Azure/MachineLearningNotebooks
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Azure/MachineLearningNotebooks#1975 · 1 Kommentar ·
-
duplicates Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 68/100
Azure/MachineLearningNotebooks#1960 ·
-
machine Offen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 10/100
Azure/MachineLearningNotebooks#1987 ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
Azure/MachineLearningNotebooks#1985 · 1 Kommentar ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
Azure/MachineLearningNotebooks#1981 · 1 Reaktion ·
Alle Issues in Azure/MachineLearningNotebooks
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 80/100
microsoft/magentic-ui#588 ·
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
alexgorbatchev/simple-ptt#3 · 1 Kommentar ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
CorrelAid/formtransform#44 ·