Nastavení trénování automatizovaného strojového učení pomocí sady Azure Machine Learning Python SDK v2
PLATÍ PRO: Sada Python SDK azure-ai-ml v2 (aktuální)
V této příručce se dozvíte, jak nastavit automatizované strojové učení, Automatizované strojové učení a trénovací úlohu pomocí sady Python SDK služby Azure Machine Learning v2. Automatizované strojové učení za vás vybere algoritmus a hyperparametry a vygeneruje model připravený k nasazení. Tato příručka obsahuje podrobnosti o různých možnostech, které můžete použít ke konfiguraci experimentů automatizovaného strojového učení.
Pokud dáváte přednost prostředí bez kódu, můžete také nastavit trénování automatizovaného strojového učení bez kódu v studio Azure Machine Learning.
Pokud dáváte přednost odesílání trénovacích úloh pomocí rozšíření Azure Machine Learning CLI v2, projděte si téma trénování modelů.
Požadavky
Pro tento článek potřebujete:
Pracovní prostor služby Azure Machine Learning. Informace o vytvoření pracovního prostoru najdete v tématu Vytvoření prostředků pracovního prostoru.
Nainstalovaná sada Azure Machine Learning Python SDK v2 K instalaci sady SDK můžete použít jednu z těchto možností:
Vytvořte výpočetní instanci, která už má nainstalovanou nejnovější sadu Azure Machine Learning Python SDK a je předem nakonfigurovaná pro pracovní postupy ML. Další informace najdete v tématu Vytvoření a správa výpočetní instance služby Azure Machine Learning .
K instalaci sady Azure Machine Learning Python SDK v2 použijte následující příkazy:
- Odinstalujte předchozí verzi Preview:
pip uninstall azure-ai-ml
- Nainstalujte sadu Azure Machine Learning Python SDK v2:
pip install azure-ai-ml azure-identity
Důležité
Příkazy Pythonu v tomto článku vyžadují nejnovější
azureml-train-automl
verzi balíčku.- Nainstalujte nejnovější
azureml-train-automl
balíček do místního prostředí. - Podrobnosti o nejnovějším
azureml-train-automl
balíčku najdete ve zprávě k vydání verze.
Nastavení pracovního prostoru
Pokud se chcete připojit k pracovnímu prostoru, musíte zadat předplatné, skupinu prostředků a název pracovního prostoru. Tyto podrobnosti se používají v MLClient
souboru from azure.ai.ml
k získání popisovače požadovaného pracovního prostoru Azure Machine Learning.
V následujícím příkladu se používá výchozí ověřování Azure společně s výchozí konfigurací pracovního prostoru nebo z jakéhokoli souboru config.json
, který jste mohli zkopírovat do struktury složek. Pokud se nenajde žádný config.json
, musíte při vytváření MLClient
ručně zavést subscription_id, resource_group a pracovní prostor.
from azure.identity import DefaultAzureCredential
from azure.ai.ml import MLClient
credential = DefaultAzureCredential()
ml_client = None
try:
ml_client = MLClient.from_config(credential)
except Exception as ex:
print(ex)
# Enter details of your Azure Machine Learning workspace
subscription_id = "<SUBSCRIPTION_ID>"
resource_group = "<RESOURCE_GROUP>"
workspace = "<AZUREML_WORKSPACE_NAME>"
ml_client = MLClient(credential, subscription_id, resource_group, workspace)
Zdroj a formát dat
Pokud chcete poskytovat trénovací data do automatizovaného strojového učení v sadě SDK v2, musíte je nahrát do cloudu prostřednictvím tabulky MLTable.
Požadavky na načítání dat do tabulky MLTable:
- Data musí být v tabulkové podobě.
- Hodnota, která se má predikovat, cílový sloupec, musí být v datech.
Trénovací data musí být přístupná ze vzdálených výpočetních prostředků. Automatizované strojové učení v2 (Sada Python SDK a rozhraní příkazového řádku/YAML) přijímá datové prostředky MLTable (v2), i když kvůli zpětné kompatibilitě podporuje také tabulkové datové sady v1 z verze 1 (registrovaná tabulková datová sada) prostřednictvím stejných vstupních vlastností datové sady. Doporučujeme ale použít tabulku MLTable dostupnou ve verzi 2.
Následující kód YAML je definice tabulky MLTable, která by mohla být umístěna do místní složky nebo vzdálené složky v cloudu spolu s datovým souborem (.CSV nebo souborEm Parquet).
# MLTable definition file
paths:
- file: ./bank_marketing_train_data.csv
transformations:
- read_delimited:
delimiter: ','
encoding: 'ascii'
Proto by složka MLTable měla definiční soubor MLTable a datový soubor (v tomto případě bank_marketing_train_data.csv soubor).
Následující příklad ukazuje dva způsoby vytvoření tabulky MLTable.
- A. Poskytnete trénovací data a definiční soubor MLTable z místní složky a automaticky se nahraje do cloudu (výchozí úložiště dat pracovního prostoru).
- B. Poskytuje již zaregistrovanou a nahranou tabulku MLTable do cloudu.
from azure.ai.ml.constants import AssetTypes
from azure.ai.ml import automl, Input
# A. Create MLTable for training data from your local directory
my_training_data_input = Input(
type=AssetTypes.MLTABLE, path="./data/training-mltable-folder"
)
# B. Remote MLTable definition
my_training_data_input = Input(type=AssetTypes.MLTABLE, path="azureml://datastores/workspaceblobstore/paths/Classification/Train")
Trénování, ověřování a testování dat
Můžete zadat samostatná trénovací data a sady ověřovacích dat, ale trénovací data musí být zadána parametru training_data
ve funkci factory vaší automatizované úlohy ML.
Pokud parametr nebo n_cross_validation
explicitně nezadátevalidation_data
, použije automatizované strojové učení výchozí techniky k určení způsobu ověřování. Toto určení závisí na počtu řádků v datové sadě přiřazené k vašemu training_data
parametru.
Velikost trénovacích dat | Technika ověřování |
---|---|
Větší než 20 000 řádků | Použije se rozdělení dat trénování/ověření. Ve výchozím nastavení se jako ověřovací sada používá 10 % počáteční sady trénovacích dat. Tato sada ověřování se pak používá pro výpočet metrik. |
Menší než nebo rovno 20 000 řádků | Používá se přístup k křížovému ověřování. Výchozí počet záhybů závisí na počtu řádků. Pokud je datová sada menší než 1 000 řádků, použije se 10 řádků. Pokud se řádky rovnají nebo jsou mezi 1 000 a 20 000, použijí se tři záhyby. |
Výpočetní prostředí pro spuštění experimentu
Úlohy automatizovaného strojového učení se sadou Python SDK v2 (nebo rozhraním příkazového řádku v2) se v současné době podporují pouze ve vzdálených výpočetních prostředcích služby Azure Machine Learning (cluster nebo výpočetní instance).
Přečtěte si další informace o vytváření výpočetních prostředků pomocí pythonu SDKv2 (nebo CLIv2).
Konfigurace nastavení experimentu
Existuje několik možností, které můžete použít ke konfiguraci experimentu automatizovaného strojového učení. Tyto parametry konfigurace se nastavují v metodě úlohy. Pomocí funkcí a set_limits()
můžete také nastavit nastavení trénování úloh a ukončit kritériaset_training()
.
Následující příklad ukazuje požadované parametry pro úlohu klasifikace, která určuje přesnost jako primární metriku a 5 křížových ověření.
# note that the below is a code snippet -- you might have to modify the variable values to run it successfully
classification_job = automl.classification(
compute=my_compute_name,
experiment_name=my_exp_name,
training_data=my_training_data_input,
target_column_name="y",
primary_metric="accuracy",
n_cross_validations=5,
enable_model_explainability=True,
tags={"my_custom_tag": "My custom value"}
)
# Limits are all optional
classification_job.set_limits(
timeout_minutes=600,
trial_timeout_minutes=20,
max_trials=5,
enable_early_termination=True,
)
# Training properties are optional
classification_job.set_training(
blocked_training_algorithms=["LogisticRegression"],
enable_onnx_compatible_models=True
)
Výběr typu úlohy strojového učení (problém ML)
Než budete moct odeslat úlohu automatizovaného strojového učení, musíte určit druh problému se strojovým učením, který řešíte. Tento problém určuje, kterou funkci vaše úloha automatizovaného strojového učení používá a jaké algoritmy modelu používá.
Automatizované strojové učení podporuje tabulkové úlohy založené na datech (klasifikace, regrese, prognózování), úlohy počítačového zpracování obrazu (například klasifikaci obrázků a detekci objektů) a úlohy zpracování přirozeného jazyka (například úlohy klasifikace textu a rozpoznávání entit). Přečtěte si další informace o typech úkolů.
Podporované algoritmy
Automatizované strojové učení zkouší různé modely a algoritmy během procesu automatizace a ladění. Jako uživatel nemusíte algoritmus zadávat.
Metoda úlohy určuje seznam algoritmů/modelů, které se mají použít. allowed_training_algorithms
Pomocí parametrů nebo blocked_training_algorithms
ve set_training()
funkci setter můžete dále upravovat iterace s dostupnými modely, které se mají zahrnout nebo vyloučit.
V následujícím seznamu odkazů můžete prozkoumat podporované algoritmy pro úlohu strojového učení uvedené níže.
Klasifikace | Regrese | Prognózování časové řady |
---|---|---|
Logistická regrese* | Elastická síť* | AutoARIMA |
Light GBM* | Light GBM* | Prorok |
Zvýšení gradientu* | Zvýšení gradientu* | Elastická síť |
Rozhodovací strom* | Rozhodovací strom* | Light GBM |
K Nejbližší sousedé* | K Nejbližší sousedé* | K Nejbližší sousedé |
Lineární SVC* | LASO LARS* | Rozhodovací strom |
Podpora klasifikace vektorů (SVC)* | Stochastický gradientní sestup (SGD)* | Arimax |
Náhodná doménová struktura* | Náhodný les | LARS Lasso |
Extrémně náhodné stromy* | Extrémně náhodné stromy* | Extrémně náhodné stromy* |
Xgboost* | Xgboost* | Náhodný les |
Naive Bayes* | Xgboost | ForecastTCN |
Stochastický gradientní sestup (SGD)* | Stochastický gradientní sestup (SGD) | Zvýšení gradientu |
ExponentialSmoothing | ||
SeasonalNaive | ||
Průměr | ||
Naivní | ||
Roční roční období |
S dalšími algoritmy níže.
- Algoritmy klasifikace obrázků s více třídami
- Algoritmy klasifikace obrázků s více popisky
- Algoritmy detekce objektů obrázků
- NLP – Algoritmy klasifikace textu s více popisky
- Algoritmy NLP Text Named Entity Recognition (NER)
Na tomto odkazu použijte například poznámkové bloky jednotlivých typů úkolů.
Primární metrika
Parametr primary_metric
určuje metriku, která se má použít při trénování modelu pro účely optimalizace. Dostupné metriky, které můžete vybrat, závisí na zvoleném typu úkolu.
Výběr primární metriky pro optimalizaci automatizovaného strojového učení závisí na mnoha faktorech. Doporučujeme, abyste si vybrali metriku, která nejlépe odpovídá vašim obchodním potřebám. Pak zvažte, jestli je metrika vhodná pro váš profil datové sady (velikost dat, rozsah, distribuce tříd atd.). Následující části shrnují doporučené primární metriky na základě typu úlohy a obchodního scénáře.
Informace o konkrétních definicích těchto metrik najdete v tématu Vysvětlení výsledků automatizovaného strojového učení.
Metriky pro scénáře klasifikace s více třídami
Tyto metriky platí pro všechny scénáře klasifikace, včetně tabulkových dat, obrázků a počítačového zpracování obrazu a NLP-Text.
Metriky závislé na prahové hodnotě, jako accuracy
jsou , recall_score_weighted
norm_macro_recall
aprecision_score_weighted
, nemusí být optimalizované také pro datové sady, které jsou malé, mají velkou nerovnoměrnou distribuci tříd (nerovnováhu tříd) nebo když se očekávaná hodnota metriky velmi blíží hodnotě 0,0 nebo 1.0. V takových případech AUC_weighted
může být lepší volbou pro primární metriku. Po dokončení automatizovaného strojového učení můžete vybrat vítězný model na základě metriky, která nejlépe vyhovuje vašim obchodním potřebám.
Metric | Příklady případů použití |
---|---|
accuracy |
Klasifikace obrázků, analýza mínění, předpověď změn dat |
AUC_weighted |
Detekce podvodů, klasifikace obrázků, detekce anomálií / detekce spamu |
average_precision_score_weighted |
Analýza mínění |
norm_macro_recall |
Predikce změn dat |
precision_score_weighted |
Metriky pro scénáře klasifikace s více popisky
Pro klasifikaci textu je v současné době jedinou podporovanou primární metrikou více popisků Přesnost.
V případě klasifikace obrázků s více popisky jsou podporované primární metriky definované ve výčtu ClassificationMultilabelPrimaryMetrics.
Metriky pro scénáře NLP Text NER (pojmenované entity rozpoznávání)
- Pro NLP Text NER (Pojmenované entity rozpoznávání) je aktuálně "Přesnost" jedinou podporovanou primární metrikou.
Metriky pro scénáře regrese
r2_score
normalized_root_mean_squared_error
a normalized_mean_absolute_error
všichni se snaží minimalizovat chyby predikce. r2_score
a normalized_root_mean_squared_error
minimalizují průměrné kvadratické chyby, zatímco normalized_mean_absolute_error
se minimalizuje průměrná absolutní hodnota chyb. Absolutní hodnota zpracovává chyby ve všech velikostech stejně a kvadratické chyby budou mít mnohem větší penalizaci za chyby s většími absolutními hodnotami. V závislosti na tom, jestli se mají větší chyby trestat více, nebo ne, můžete optimalizovat kvadratickou nebo absolutní chybu.
Hlavním rozdílem mezi r2_score
a normalized_root_mean_squared_error
je způsob jejich normalizace a jejich význam. normalized_root_mean_squared_error
je odmocněná střední kvadratická chyba normalizovaná podle rozsahu a dá se interpretovat jako průměrná velikost chyby pro predikci. r2_score
je střední kvadratická chyba normalizovaná odhadem odchylky dat. Jedná se o poměr variant, který může model zachytit.
Poznámka
r2_score
a normalized_root_mean_squared_error
také se chovají podobně jako primární metriky. Pokud se použije pevná ověřovací sada, tyto dvě metriky optimalizují stejný cíl, což znamená kvadratickou chybu, a budou optimalizovány stejným modelem. Pokud je k dispozici pouze trénovací sada a použije se křížové ověření, budou se mírně lišit, protože normalizátor pro normalized_root_mean_squared_error
je pevný jako rozsah trénovací sady, ale normalizátor pro r2_score
by se pro každý záhyb lišil, protože je to rozptyl pro každý záhyb.
Pokud je pořadí místo přesné hodnoty zajímavé, může být lepší volbou, spearman_correlation
protože měří korelaci pořadí mezi skutečnými hodnotami a predikcemi.
V současné době ale žádné primární metriky pro regresi neřeší relativní rozdíl. Všechny chyby r2_score
normalized_mean_absolute_error
normalized_root_mean_squared_error
predikce ve výši 20 000 USD jsou pro pracovníka s 30 tisíci usd stejné jako u pracovníka s 20 tisíci USD, pokud tyto dva datové body patří do stejné datové sady pro regresi nebo ve stejné časové řadě určené identifikátorem časové řady. Zatímco ve skutečnosti je predikce pouze 20 000 $ z platu 2000 $ velmi blízko (malý relativní rozdíl 0,1%), zatímco $ 20 000 z $ 30 000 není blízko (velký 67% relativní rozdíl). Pokud chcete vyřešit problém relativního rozdílu, můžete model natrénovat s dostupnými primárními metrikami a pak vybrat model s nejlepším mean_absolute_percentage_error
nebo root_mean_squared_log_error
.
Metric | Příklady případů použití |
---|---|
spearman_correlation |
|
normalized_root_mean_squared_error |
Predikce cen (dům/produkt/tip), predikce skóre recenze |
r2_score |
Zpoždění letecké společnosti, odhad platu, doba řešení chyby |
normalized_mean_absolute_error |
Metriky pro scénáře prognózování časových řad
Doporučení jsou podobná těm, která jsou uvedená v regresních scénářích.
Metric | Příklady případů použití |
---|---|
normalized_root_mean_squared_error |
Predikce cen (prognózování), optimalizace zásob, prognózování poptávky |
r2_score |
Predikce cen (prognózování), optimalizace zásob, prognózování poptávky |
normalized_mean_absolute_error |
Metriky pro scénáře detekce objektů obrázků
- Pro detekci objektů obrázku jsou podporované primární metriky definovány ve výčtu ObjectDetectionPrimaryMetrics.
Metriky pro scénáře segmentace instancí obrázků
- Ve scénářích segmentace instance image jsou podporované primární metriky definované ve výčtu InstanceSegmentationPrimaryMetrics.
Featurizace dat
V každém automatizovaném experimentu strojového učení se data automaticky transformují na čísla a vektory čísel plus (tj. převod textu na číselný) a také se škálují a normalizují, aby pomohly určitým algoritmům, které jsou citlivé na funkce v různých měřítkách. Tato transformace, škálování a normalizace dat se označuje jako featurizace.
Poznámka
Součástí základního modelu se stanou kroky automatického strojového učení (normalizace funkcí, zpracování chybějících dat, převod textu na číselný atd.). Při použití modelu pro predikce se na vstupní data automaticky použijí stejné kroky pro funkciaturace použité během trénování.
Při konfiguraci automatizovaných úloh ML můžete nastavení povolit nebo zakázat featurization
pomocí .set_featurization()
funkce setter.
Následující tabulka ukazuje přijatá nastavení pro funkciaturaci.
Konfigurace funkce | Popis |
---|---|
"mode": 'auto' |
Označuje, že v rámci předzpracování se automaticky provádějí kroky pro ochranu dat a jejich funkci . Výchozí nastavení. |
"mode": 'off' |
Označuje, že krok featurizace by se neměl provádět automaticky. |
"mode": 'custom' |
Označuje, že by se měl použít přizpůsobený krok featurizace. |
Následující kód ukazuje, jak může být v tomto případě pro regresní úlohu poskytována vlastní featurizace.
from azure.ai.ml.automl import ColumnTransformer
transformer_params = {
"imputer": [
ColumnTransformer(fields=["CACH"], parameters={"strategy": "most_frequent"}),
ColumnTransformer(fields=["PRP"], parameters={"strategy": "most_frequent"}),
],
}
regression_job.set_featurization(
mode="custom",
transformer_params=transformer_params,
blocked_transformers=["LabelEncoding"],
column_name_and_types={"CHMIN": "Categorical"},
)
Kritéria ukončení
Existuje několik možností, které můžete ve funkci definovat a set_limits()
ukončit experiment před dokončením úlohy.
Kritéria | description |
---|---|
Žádná kritéria | Pokud nedefinujete žádné ukončovací parametry, experiment bude pokračovat, dokud nebude u primární metriky proveden žádný další pokrok. |
timeout |
Definuje, jak dlouho v minutách má experiment běžet. Pokud není zadaný, je celkový časový limit výchozí úlohy 6 dní (8 640 minut). Pokud chcete zadat časový limit kratší nebo roven 1 hodině (60 minut), ujistěte se, že velikost datové sady není větší než 10 000 000 (počet řádků ve sloupci) nebo že došlo k chybě. Tento časový limit zahrnuje nastavení, procesaturace a trénování, ale nezahrnuje spuštění ensemblingu a vysvětlitelnosti modelu na konci procesu, protože tyto akce musí proběhnout po dokončení všech zkušebních verzí (podřízených úloh). |
trial_timeout_minutes |
Maximální doba v minutách, po kterou může každá zkušební verze (podřízená úloha) běžet, než se ukončí. Pokud není zadáno, použije se hodnota 1 měsíc nebo 43200 minut. |
enable_early_termination |
Zda se má úloha ukončit, pokud se skóre v krátkodobém horizontu nezlepšuje |
max_trials |
Maximální počet pokusů a spuštění s jinou kombinací algoritmu a hyperparametrů, které se mají vyzkoušet během úlohy AutoML. Pokud není zadaný, výchozí hodnota je 1 000 zkušebních verzí. Pokud použijete enable_early_termination počet použitých zkušebních verzí, může být menší. |
max_concurrent_trials |
Představuje maximální počet zkušebních verzí (podřízených úloh), které by se spustily paralelně. Toto číslo je vhodné shodovat s počtem uzlů clusteru. |
Spuštění experimentu
Poznámka
Pokud experiment se stejným nastavením konfigurace a primární metrikou spustíte vícekrát, pravděpodobně se v každém experimentu zobrazí proměnlivé skóre konečných metrik a vygenerovaných modelech. Algoritmy automatizovaného strojového učení mají inherentní náhodnost, která může způsobit mírné odchylky ve výstupu modelů experimentem a konečném skóre metrik doporučeného modelu, jako je přesnost. Pravděpodobně uvidíte také výsledky se stejným názvem modelu, ale s různými použitými hyperparametry.
Upozornění
Pokud jste pro svůj pracovní prostor nastavili pravidla v bráně firewall nebo skupině zabezpečení sítě, ověřte, že jsou pro příchozí a odchozí síťový provoz udělena požadovaná oprávnění, jak je definováno v tématu Konfigurace příchozího a odchozího síťového provozu.
Odešlete experiment, aby se spustil a vygeneroval model. S objektem vytvořeným MLClient
v požadavcích můžete v pracovním prostoru spustit následující příkaz.
# Submit the AutoML job
returned_job = ml_client.jobs.create_or_update(
classification_job
) # submit the job to the backend
print(f"Created job: {returned_job}")
# Get a URL for the status of the job
returned_job.services["Studio"].endpoint
Více podřízených spuštění v clusterech
Podřízená spuštění automatizovaného experimentu ML se dají provádět v clusteru, na kterém už běží jiný experiment. Načasování ale závisí na počtu uzlů clusteru a na tom, jestli jsou tyto uzly dostupné ke spuštění jiného experimentu.
Každý uzel v clusteru funguje jako samostatný virtuální počítač, který může provést jedno trénovací spuštění. u automatizovaného strojového učení to znamená podřízené spuštění. Pokud jsou všechny uzly zaneprázdněné, nový experiment je zařazen do fronty. Pokud ale existují volné uzly, spustí nový experiment v dostupných uzlech nebo virtuálních počítačích paralelně automatizovaná podřízená spuštění ML.
Pokud chcete pomoct se správou podřízených max_concurrent_iterations
spuštění a jejich provádění, doporučujeme vytvořit vyhrazený cluster pro každý experiment a porovnat počet experimentů s počtem uzlů v clusteru. Tímto způsobem použijete všechny uzly clusteru současně s požadovaným počtem souběžných podřízených spuštění nebo iterací.
Nakonfigurujte max_concurrent_iterations
ve funkci setter .set_limits(). Pokud není nakonfigurovaná, je ve výchozím nastavení pro každý experiment povoleno pouze jedno souběžné podřízené spuštění/iteraci.
V případě výpočetní instance max_concurrent_trials
je možné nastavit stejný počet jader na virtuálním počítači výpočetní instance.
Prozkoumání modelů a metrik
Automatizované strojové učení nabízí možnosti, jak monitorovat a vyhodnocovat výsledky trénování.
Definice a příklady grafů výkonu a metrik poskytovaných pro každé spuštění najdete v tématu Vyhodnocení výsledků experimentu automatizovaného strojového učení.
Pokud chcete získat souhrn funkce a zjistit, jaké funkce byly přidány do konkrétního modelu, přečtěte si téma Transparentnost funkce funkce.
V uživatelském rozhraní Služby Azure Machine Learning na stránce modelu můžete také zobrazit hyperparametry použité při trénování konkrétního modelu a také zobrazit a přizpůsobit použitý trénovací kód interního modelu.
Registrace a nasazení modelů
Po otestování modelu a potvrzení, že ho chcete použít v produkčním prostředí, ho můžete zaregistrovat pro pozdější použití.
Tip
U registrovaných modelů je nasazení jedním kliknutím k dispozici prostřednictvím studio Azure Machine Learning. Podívejte se, jak nasadit zaregistrované modely ze studia.
AutoML v kanálech
Pokud chcete využít autoML v pracovních postupech MLOps, můžete přidat kroky úlohy AutoML do kanálů Služby Azure Machine Learning. To vám umožní automatizovat celý pracovní postup tím, že připojíte skripty pro přípravu dat k AutoML a pak zaregistrujete a ověřujete výsledný nejlepší model.
Níže je ukázkový kanál s komponentou klasifikace AutoML a komponentou příkazů, která zobrazuje výsledný výstup AutoML. Všimněte si, jak se v různých krocích odkazuje na vstupy (trénovací & ověřovací data) a výstupy (nejlepší model).
# Define pipeline
@pipeline(
description="AutoML Classification Pipeline",
)
def automl_classification(
classification_train_data,
classification_validation_data
):
# define the automl classification task with automl function
classification_node = classification(
training_data=classification_train_data,
validation_data=classification_validation_data,
target_column_name="y",
primary_metric="accuracy",
# currently need to specify outputs "mlflow_model" explictly to reference it in following nodes
outputs={"best_model": Output(type="mlflow_model")},
)
# set limits and training
classification_node.set_limits(max_trials=1)
classification_node.set_training(enable_stack_ensemble=False, enable_vote_ensemble=False)
command_func = command(
inputs=dict(
automl_output=Input(type="mlflow_model")
),
command="ls ${{inputs.automl_output}}",
environment="AzureML-sklearn-0.24-ubuntu18.04-py37-cpu:latest"
)
show_output = command_func(automl_output=classification_node.outputs.best_model)
pipeline_classification = automl_classification(
classification_train_data=Input(path="./training-mltable-folder/", type="mltable"),
classification_validation_data=Input(path="./validation-mltable-folder/", type="mltable"),
)
# ...
# Note that the above is only a snippet from the bankmarketing example you can find in our examples repo -> https://github.com/Azure/azureml-examples/tree/main/sdk/python/jobs/pipelines/1h_automl_in_pipeline/automl-classification-bankmarketing-in-pipeline
Další příklady, jak zahrnout autoML do kanálů, najdete v našem úložišti s příklady.
Další kroky
- Přečtěte si další informace o tom, jak a kde nasadit model.