Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
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:
- Načítajte množinu údajov Iris.
- Rozdeľte údaje na trénované a testovacie množiny.
- Spustenie skúšobnej verzie automatizovaného strojového učenia tak, aby sa zmestila na tréningové údaje.
- 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:
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:
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:
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:
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:
Č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:
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:
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: