Spuštění experimentu automatizovaného strojového učení

Dokončeno

Pokud chcete spustit experiment automatizovaného strojového učení (AutoML), můžete úlohu nakonfigurovat a odeslat pomocí sady Python SDK.

Algoritmy, které AutoML používá, budou záviset na zadané úloze. Pokud chcete vytrénovat klasifikační model, autoML si vybere ze seznamu klasifikačních algoritmů:

  • Logistická regrese
  • Light Gradient Boosting Machine (GBM)
  • Rozhodovací strom
  • Náhodný les
  • Naive Bayes
  • Lineární podpůrný vektorový stroj (SVM)
  • XGBoost
  • A jiní...

Spropitné

Úplný seznam podporovaných algoritmů najdete v přehledu podporovaných algoritmů .

Omezení výběru algoritmu

Ve výchozím nastavení bude AutoML náhodně vybírat z úplného rozsahu algoritmů pro zadaný úkol. Můžete se rozhodnout blokovat výběr jednotlivých algoritmů; což může být užitečné, pokud víte, že vaše data nejsou vhodná pro konkrétní typ algoritmu. Můžete také chtít blokovat určité algoritmy, pokud potřebujete dodržovat zásady, které omezují typ algoritmů strojového učení, které můžete použít ve vaší organizaci.

Konfigurace experimentu AutoML

Pokud ke konfiguraci experimentu nebo úlohy AutoML použijete sadu Python SDK (v2), nakonfigurujete experiment pomocí třídy automl. Pro klasifikaci použijete funkci automl.classification, jak je znázorněno v následujícím příkladu:

from azure.ai.ml import automl

# configure the classification job
classification_job = automl.classification(
    compute="aml-cluster",
    experiment_name="auto-ml-class-dev",
    training_data=my_training_data_input,
    target_column_name="Diabetic",
    primary_metric="accuracy",
    n_cross_validations=5,
    enable_model_explainability=True
)

Poznámka

AutoML potřebuje jako vstup datový objekt MLTable. V tomto příkladu my_training_data_input odkazuje na datový prostředek MLTable vytvořený v pracovním prostoru Azure Machine Learning.

Určení primární metriky

Jedním z nejdůležitějších nastavení, které musíte zadat, je primary_metric. Primární metrikou je cílová metrika výkonu, pro kterou se určí optimální model. Azure Machine Learning podporuje sadu pojmenovaných metrik pro každý typ úlohy.

Pokud chcete načíst seznam metrik dostupných při trénování klasifikačního modelu, můžete použít funkci ClassificationPrimaryMetrics, jak je znázorněno tady:

from azure.ai.ml.automl import ClassificationPrimaryMetrics
 
list(ClassificationPrimaryMetrics)

Spropitné

Úplný seznam primárních metrik a jejich definic najdete v vyhodnocení výsledků experimentů automatizovaného strojového učení.

Nastavení limitů

Trénování modelů strojového učení bude stát výpočetní prostředky. Pokud chcete minimalizovat náklady a čas strávený na trénování, můžete pomocí set_limits()nastavit limity pro experiment nebo úlohu AutoML.

Existuje několik možností, jak nastavit omezení experimentu AutoML:

  • timeout_minutes: Počet minut po ukončení dokončeného experimentu AutoML.
  • trial_timeout_minutes: Maximální počet minut, po které může trvat jedna zkouška.
  • max_trials: Maximální počet pokusů nebo modelů, které budou natrénovány.
  • enable_early_termination: Jestli se má experiment ukončit, pokud se skóre v krátkodobém horizontu nezlepšuje.
classification_job.set_limits(
    timeout_minutes=60, 
    trial_timeout_minutes=20, 
    max_trials=5,
    enable_early_termination=True,
)

Pokud chcete ušetřit čas, můžete souběžně spustit několik zkušebních verzí. Při použití výpočetního clusteru můžete mít tolik paralelních zkušebních verzí, kolik máte uzlů. Maximální počet paralelních pokusů proto souvisí s maximálním počtem uzlů, které má váš výpočetní cluster. Pokud chcete nastavit maximální počet paralelních pokusů, aby byl menší než maximální počet uzlů, můžete použít max_concurrent_trials.

Nastavení vlastností trénování

AutoML vyzkouší různé kombinace featurizace a algoritmů pro trénování modelu strojového učení. Pokud už víte, že některé algoritmy nejsou pro vaše data vhodné, můžete vyloučit (nebo zahrnout) podmnožinu dostupných algoritmů.

Můžete také zvolit, jestli chcete službě AutoML povolit používání souborových modelů.

Odeslání experimentu AutoML

Úlohu AutoML můžete odeslat následujícím kódem:

# submit the AutoML job
returned_job = ml_client.jobs.create_or_update(
    classification_job
) 

Úlohy AutoML můžete monitorovat v nástroji Azure Machine Learning Studio. Pokud chcete získat přímý odkaz na úlohu AutoML spuštěním následujícího kódu:

aml_url = returned_job.studio_url
print("Monitor your job at", aml_url)