Zdieľať cez


Trénovanie vizualizácií (Preview)

Hyperparametrová skúšobná verzia alebo skúšobná verzia automatizovaného strojového učenia vyhľadáva optimálne parametre modelu strojového učenia. Každá skúšobná verzia sa skladá z viacerých spustení, pričom každé spustenie vyhodnotí konkrétnu kombináciu parametrov. Používatelia môžu tieto spustenia monitorovať pomocou položky experimentu strojového učenia v službe Fabric.

Modul flaml.visualization ponúka funkcie na vykresliť a porovnať spustenia v jazyku FLAML. Používatelia môžu plotly používať na interakciu so svojimi experimentami automatizovaného strojového učenia. Na používanie týchto funkcií musia používatelia zadať optimalizovaný flaml.AutoML objekt alebo flaml.tune.tune.ExperimentAnalysis objekt.

V tomto článku sa naučíte, ako používať modul na analýzu flaml.visualization a preskúmanie výsledkov skúšobnej verzie automatizovaného strojového učenia. Rovnaké kroky môžete vykonať aj pri skúšobnej verzii hyperparametrov.

Dôležité

Táto funkcia je vo verzii Preview.

Vytvorenie skúšobnej verzie automatizovaného strojového učenia

Automatizované strojové učenie ponúka sadu automatizovaných procesov, ktoré dokážu identifikovať najlepší kanál strojového učenia pre vašu množinu údajov, vďaka čomu je celý proces modelovania priamočiarejší a často presnejší. V podstate vám to ušetrí problémy s ladením rôznych modelov a hyperparametrov.

V bunke kódu uvedenej nižšie budeme:

  1. Načítajte množinu údajov Iris.
  2. Rozdeľte údaje na trénované a testovacie množiny.
  3. Spustenie skúšobnej verzie automatizovaného strojového učenia tak, aby sa zmestila na tréningové údaje.
  4. Preskúmajte výsledky našej skúšobnej verzie automatizovaného strojového učenia pomocou vizualizácií zo .flaml.visualization
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from flaml import AutoML

# Load the Iris data and split it into train and test sets
x, y = load_iris(return_X_y=True, as_frame=True)
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=7654321)

# Create an AutoML instance and set the parameters
automl = AutoML()
automl_settings = {
    "time_budget": 10, # Time limit in seconds
    "task": "classification", # Type of machine learning task
    "log_file_name": "aml_iris.log", # Name of the log file
    "metric": "accuracy", # Evaluation metric
    "log_type": "all", # Level of logging
}
# Fit the AutoML instance on the training data
automl.fit(X_train=x_train, y_train=y_train, **automl_settings)

Vizualizácia výsledkov experimentu

Po spustení skúšobnej verzie automatizovaného strojového učenia je potrebné vizualizovať výsledky, aby bolo možné analyzovať, ako dobre modely fungovali a ako sa správali. V tejto časti našej dokumentácie vám ukážeme, ako na tento účel používať vstavané pomôcky v knižnici FLAML.

Import modulu vizualizácie

Na prístup k týmto pomôckam vizualizácií spustíme nasledujúci príkaz importu:

import flaml.visualization as fviz

História optimalizácie

Vykreslenie histórie optimalizácie má zvyčajne počet skúšok/iterácií na osi x a metriku výkonu (napríklad presnosť, RMSE atď.) na osi y. Ako sa zvyšuje počet skúšobných verzií, zobrazí sa čiarové alebo bodové vykreslenia označujúce výkon každej skúšobnej verzie.

fig = fviz.plot_optimization_history(automl)
# or
fig = fviz.plot(automl, "optimization_history")
fig.show()

Výsledné vykreslené grafy sú znázornené takto:

Graf vykreslenia histórie optimalizácie.

Dôležitosť funkcie

Vykreslenie dôležitosti funkcie je výkonným nástrojom vizualizácie, ktorý vám umožňuje pochopiť význam rôznych vstupných funkcií pri určovaní predpovedí modelu.

fig = fviz.plot_feature_importance(automl)
# or
fig = fviz.plot(automl, "feature_importance")
fig.show()

Výsledné vykreslené grafy sú znázornené takto:

Graf vykreslenia dôležitosti funkcií.

Paralelné vykreslené súradnice

Paralelné vykreslenie súradníc je nástroj na vizualizáciu, ktorý predstavuje multidimenzionálne údaje tak, že nakreslil viacero zvislých čiar (osí) zodpovedajúcich premenným alebo hyperparametrom, pričom údajové body sa vykreslia ako pripojené čiary v rámci týchto osí. V kontexte experimentu automatizovaného strojového učenia alebo ladenia je inštrumentálny pri vizualizácii a analýze výkonu rôznych kombinácií hyperparametrov. Sledovaním ciest vysoko výkonných konfigurácií je možné rozoznať vzory alebo trendy v výberoch hyperparametrov a ich interakciách. Vďaka tomuto vykresleniu rozumiete, ktoré kombinácie vedú k optimálnemu výkonu, označujú potenciálne oblasti na ďalšie skúmanie a identifikujú akékoľvek kompromisy medzi rôznymi hyperparametrami.

Tento nástroj má nasledujúce ďalšie argumenty:

  • learner: Zadajte študenta, ktorého chcete študovať v experimente. Tento parameter je použiteľný len pre výsledky pokusov automatizovaného strojového učenia. Keď túto možnosť ponecháte prázdnu, systém vyberie najlepšieho študenta v celom experimente.

  • params: Zoznam na určenie hyperparametera, ktorý sa má zobraziť. Ponechajte túto prázdnu hodnotu a systém zobrazí všetky dostupné hyperparametre.

fig = fviz.plot_parallel_coordinate(automl, learner="lgbm", params=["n_estimators", "num_leaves", "learning_rate"])
# or
fig = fviz.plot(automl, "parallel_coordinate", learner="lgbm", params=["n_estimators", "num_leaves", "learning_rate"])
fig.show()

Výsledné vykreslené grafy sú znázornené takto:

Graf paralelného vykreslenia súradníc.

Znázornenie kontúrovania

Kontúrovanie vykreslí vizualizuje trojrozmerné údaje v dvoch dimenziách, kde osi x a y predstavujú dva hyperparametre a kontúrovacie čiary alebo vyplnené kontúry znázorňujú úrovne metriky výkonu (napríklad presnosť alebo strata). V kontexte experimentu automatizovaného strojového učenia alebo ladenia je kontúry vykreslenie výhodné na pochopenie vzťahu medzi dvoma hyperparametrami a ich kombinovaného vplyvu na výkon modelu.

Preskúmaním hustoty a umiestnenia čiar kontúry možno identifikovať oblasti hyperparametra priestoru, kde je optimalizovaný výkon, posúdiť potenciálne kompromisy medzi hyperparametrami a získať prehľad o ich interakciách. Táto vizualizácia pomáha spresniť priestor vyhľadávania a proces ladenia.

Tento nástroj využíva nasledujúce argumenty:

  • learner: Zadajte študenta, ktorého chcete študovať v experimente. Tento parameter je použiteľný len pre výsledky pokusov automatizovaného strojového učenia. Keď túto možnosť ponecháte prázdnu, systém vyberie najlepšieho študenta v celom experimente.

  • params: Zoznam na určenie hyperparametera, ktorý sa má zobraziť. Ponechajte túto prázdnu hodnotu a systém zobrazí všetky dostupné hyperparametre.

fig = fviz.plot_contour(automl, learner="lgbm", params=["n_estimators", "num_leaves", "learning_rate"])
# or
fig = fviz.plot(automl, "contour", learner="lgbm", params=["n_estimators", "num_leaves", "learning_rate"])
fig.show()

Výsledné vykreslené grafy sú znázornené takto:

Graf vykreslenia obrysu.

Funkcia empirickej distribúcie

Znázornenie funkcie empirickej distribúcie (EDF), často vizualizované ako funkcia kroku, predstavuje kumulatívnu pravdepodobnosť, že údajové body sú menšie alebo sa rovnajú určitej hodnote. V rámci experimentu automatizovaného strojového učenia alebo ladenia možno použiť vykreslenie EFR na vizualizáciu distribúcie výkonu modelu v rôznych konfiguráciách hyperparametrov.

Sledovaním strmosti alebo plochosti krivky na rôznych miestach možno porozumieť koncentrácii dobrých alebo slabých výkonov modelu, resp. Táto vizualizácia ponúka prehľad celkovej účinnosti procesu ladenia a zvýrazňuje, či väčšina pokusov o konfigurácie prináša uspokojivé výsledky alebo ak vyniká len niekoľko konfigurácií.

Poznámka

V prípade experimentov automatizovaného strojového učenia sa počas tréningu použije viacero modelov. Skúšky všetkých študijných programov sú zastúpené ako séria optimalizácie. V prípade experimentov ladenia hyperparametrov sa vyhodnotí len jeden študent. Môžete však poskytnúť aj ďalšie experimenty ladenia, aby ste videli trendy medzi jednotlivými študentmi.

fig = fviz.plot_edf(automl)
# or
fig = fviz.plot(automl, "edf")
fig.show()

Výsledné vykreslené grafy sú znázornené takto:

Graf vykreslenia funkcie empirickej distribúcie.

Časová os vykresle

Vykreslenie časovej osi, často vyjadrené ako Ganttov graf alebo postupnosť pruhov, vizualizuje začiatok, trvanie a dokončenie úloh v priebehu času. V rámci experimentu automatizovaného strojového učenia alebo ladenia môže vykreslenie časovej osi predviesť postupné poradie rôznych vyhodnotení modelu a ich príslušné trvanie, ktoré sa vykresľujú v čase. Sledovaním tohto vykreslenia môžu používatelia pochopiť účinnosť procesu vyhľadávania, identifikovať potenciálne kritické miesta alebo obdobia nečinnosti a pochopiť časovú dynamiku rôznych hodnotení hyperparametrov.

fig = fviz.plot_timeline(automl)
# or
fig = fviz.plot(automl, "timeline")
fig.show()

Výsledné vykreslené grafy sú znázornené takto:

Graf vykreslenia časovej osi.

Výsekový graf

Vykreslí v štúdii vzťah parametra ako výsek.

Tento nástroj využíva nasledujúce argumenty:

  • learner: Zadajte študenta, ktorého chcete študovať v experimente. Tento parameter je použiteľný len pre výsledky pokusov automatizovaného strojového učenia. Keď túto možnosť ponecháte prázdnu, systém vyberie najlepšieho študenta v celom experimente.

  • params: Zoznam na určenie hyperparametera, ktorý sa má zobraziť. Ponechajte túto prázdnu hodnotu a systém zobrazí všetky dostupné hyperparametre.

fig = fviz.plot_slice(automl, learner="sgd")
# or
fig = fviz.plot(automl, "slice", learner="sgd")
fig.show()

Výsledné vykreslené grafy sú znázornené takto:

Graf vykreslenia rýchleho filtra.

Dôležitosť hyperparametrov

Vykreslenie podľa dôležitosti hyperparametrov vizuálne radí hyperparametre na základe ich vplyvu na výkon modelu v experimente automatizovaného strojového učenia alebo ladenia. Zobrazujú sa zvyčajne ako pruhový graf, ktorý kvantifikuje vplyv každého hyperparametera na cieľovú metriku. Preskúmaním tohto vykreslenia odborníci rozoznajú, ktoré hyperparametre sú kľúčové pri určovaní výsledkov modelu a ktoré majú minimálny vplyv.

Tento nástroj využíva nasledujúce argumenty:

  • learner: Zadajte študenta, ktorého chcete študovať v experimente. Tento parameter je použiteľný len pre výsledky pokusov automatizovaného strojového učenia. Keď túto možnosť ponecháte prázdnu, systém vyberie najlepšieho študenta v celom experimente.

  • params: Zoznam na určenie hyperparametera, ktorý sa má zobraziť. Ponechajte túto prázdnu hodnotu a systém zobrazí všetky dostupné hyperparametre.

fig = fviz.plot_param_importance(automl, learner="sgd")
# or
fig = fviz.plot(automl, "param_importance", learner="sgd")
fig.show()

Výsledné vykreslené grafy sú znázornené takto:

Graf vykreslenia hodnoty hyperparametrov.