Harjoitusvisualisoinnit (esiversio)
Hyperparameterin kokeiluversio tai autoML-kokeilu etsii optimaalisia parametreja koneoppimismallille. Jokainen kokeiluversio koostuu useista suorituksista, joissa kukin suoritus arvioi tietyn parametriyhdistelmän. Käyttäjät voivat seurata näitä suoritukset koneoppimiskokeilukohteiden avulla Fabricissa.
- flaml.visualization
moduuli tarjoaa funktioita, joiden avulla voit piirtää ja vertailla suoritusten suorittamista FLAML:ssä. Käyttäjät voivat käyttää Plotlyn avulla automaattianalyysipalvelukokeilujen kaavioita. Jotta näitä funktioita voidaan käyttää, käyttäjien on syötettävä optimoitu objekti tai flaml.tune.tune.ExperimentAnalysis
optimoitu flaml.AutoML
objekti.
Tässä artikkelissa opetetaan, miten voit käyttää - flaml.visualization
moduulia autoML-kokeilutulosten analysoimiseen ja tutkimiseen. Voit noudattaa samoja vaiheita myös hyperparameter-kokeilussasi.
Automaattianalyysipalveluiden kokeiluversion luominen
Automaattianalyysipalvelut tarjoaa joukon automatisoituja prosesseja, joiden avulla voit tunnistaa tietojoukollesi parhaan koneoppimisputken ja tehdä koko mallinnusprosessista suoraviivaisemman ja usein tarkemman. Pohjimmiltaan se säästää ongelmia eri mallien ja hyperparametrien säätämisestä käsin.
Alla olevassa koodisolussa tehdään seuraavat:
- Lataa Iris-tietojoukko.
- Jaa tiedot harjoittamiseen ja testijoukkoihin.
- Aloita automaattianalyysipalveluiden kokeilu, jotta voit sovittaa harjoitustietomme.
- Tutustu AutoML-kokeiluversion tuloksiin visualisointien avulla palvelusta
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)
Visualisoi kokeilutulokset
Kun suoritat automaattianalyysipalveluiden kokeiluversion, sinun on visualisoitava tulokset ja analysoitava, miten hyvin mallit toimivat ja miten ne toimivat. Tässä ohjeidemme osassa näytämme, miten voit käyttää FLAML-kirjaston sisäisiä apuohjelmia tähän tarkoitukseen.
Visualisointimoduulin tuominen
Jos haluat käyttää näitä visualisointiapuohjelmia, suoritamme seuraavan tuontikomennon:
import flaml.visualization as fviz
Optimointihistoria
Optimointihistorian kaaviossa on yleensä x-akselilla olevien kokeilujen/iterointien määrä ja y-akselin suorituskykymittari (kuten tarkkuus, RMSE jne.). Kun kokeilujen määrä kasvaa, näkyviin tulee rivi- tai pistekaavio, joka osoittaa kunkin kokeilujakson suorituskyvyn.
fig = fviz.plot_optimization_history(automl)
# or
fig = fviz.plot(automl, "optimization_history")
fig.show()
Tuloksena oleva kaavio on seuraava:
Ominaisuuden tärkeys
Ominaisuuden tärkeyden piirto on tehokas visualisointityökalu, jonka avulla voit ymmärtää eri syöteominaisuuksien merkityksen mallin ennusteiden määrittämisessä.
fig = fviz.plot_feature_importance(automl)
# or
fig = fviz.plot(automl, "feature_importance")
fig.show()
Tuloksena oleva kaavio on seuraava:
Rinnakkainen koordinaattikaavio
Rinnakkainen koordinaattikaavio on visualisointityökalu, joka edustaa monidimensioisia tietoja piirtämällä useita muuttujia tai hyperparametria vastaavia pystysuuntaisia viivoja (akselit), joiden arvopisteet on piirretty yhdistettyinä viivoina näiden akselien yli. Automaattianalyysipalvelu- tai virityskokeilun yhteydessä se on ratkaisevassa asemassa eri hyperparametriyhdistelmien suorituskyvyn visualisoinnissa ja analysoinnissa. Kun seuraat suorituskykyisten määritysten polkuja, voit havaita hyperparametrivalintojen malleja tai trendejä sekä niiden vuorovaikutuksia. Tämä kaavio auttaa ymmärtämään, mitkä yhdistelmät johtavat optimaaliseen suorituskykyyn, määrittämään mahdolliset alueet tarkempaa tarkastelua varten ja tunnistamaan eri hyperparametrien väliset kompromissit.
Tämä apuohjelma ottaa seuraavat muut argumentit:
learner
: Määritä oppija, jota aiot tutkia kokeilussa. Tämä parametri soveltuu vain automaattianalyysipalveluiden kokeilutuloksiin. Jättäen tämän tyhjän, järjestelmä valitsee koko kokeilun parhaan oppijan.params
: Luettelo, joka määrittää näytettävän hyperparametrin. Kun tämä jätetään tyhjäksi, järjestelmä näyttää kaikki käytettävissä olevat hyperparametrit.
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()
Tuloksena oleva kaavio on seuraava:
Kiertotiekaavio
Kiertotiekaavio visualisoi kolmiulotteiset tiedot kahdessa ulottuvuudessa, joissa x- ja y-akselit edustavat kahta hyperparametria, ja ääriviivat tai täytetyt kiertoviivat kuvaavat suorituskykymittarin tasoja (esimerkiksi tarkkuutta tai menetystä). Automaattianalyysipalvelu- tai virityskokeilun yhteydessä kiertokaavio on hyödyllinen kahden hyperparametrin välisen suhteen ja niiden yhdistetyn vaikutuksen ymmärtämiseksi mallin suorituskykyyn.
Tarkastelemalla ääriviivojen tiheyttä ja sijaintia voidaan tunnistaa hyperparametritilan alueet, joissa suorituskyky on optimoitu, havaita mahdolliset kompromissit hyperparametrien välillä ja saada merkityksellisiä tietoja niiden vuorovaikutuksista. Tämä visualisointi auttaa tarkentamaan hakutilaa ja säätämisprosessia.
Tämä apuohjelma käyttää myös seuraavia argumentteja:
learner
: Määritä oppija, jota aiot tutkia kokeilussa. Tämä parametri soveltuu vain automaattianalyysipalveluiden kokeilutuloksiin. Jättäen tämän tyhjän, järjestelmä valitsee koko kokeilun parhaan oppijan.params
: Luettelo, joka määrittää näytettävän hyperparametrin. Kun tämä jätetään tyhjäksi, järjestelmä näyttää kaikki käytettävissä olevat hyperparametrit.
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()
Tuloksena oleva kaavio on seuraava:
Empiirinen jakaumafunktio
Empiirisen jakauman funktion (EDF) piirto, joka usein visualisoidaan vaihefunktioksi, edustaa kumulatiivista todennäköisyyttä sille, että arvopisteet ovat pienempiä tai yhtä suuria kuin tietty arvo. Automaattianalyysipalveluissa tai virityskokeissa voidaan käyttää EDF-piirtoa mallisuoritusten jakauman visualisointiin eri hyperparametrikokoonpanoissa.
Kun tarkkailet käyrän jyrkkyyttä tai tasaisuutta eri kohdissa, voit ymmärtää mallin hyvän tai huonon suorituskyvyn pitoisuuden. Tämä visualisointi tarjoaa merkityksellistä tietoa säätöprosessin kokonaistehosta ja korostaa, tuottavatko useimmat määritykset tyydyttävät tulokset vai erottuvatko vain muutamat määritykset.
Muistiinpano
Automaattianalyysipalveluiden kokeissa koulutuksen aikana käytetään useita malleja. Kunkin oppijan kokeiluversiot esitetään optimointisarjana. Hyperparametrisäätökokeissa arvioidaan vain yhtä oppijaa. Voit kuitenkin tarjota lisää säätökokeiluja, joiden avulla näet kunkin oppijan trendit.
fig = fviz.plot_edf(automl)
# or
fig = fviz.plot(automl, "edf")
fig.show()
Tuloksena oleva kaavio on seuraava:
Aikajanan piirto
Aikajanan piirto, joka esitetään usein Gantt-kaaviona tai palkkien sarjana, visualisoi tehtävien alun, keston ja valmistumisen ajan kuluessa. Automaattianalyysipalveluita tai virityskokeiluja varten aikajanakaavio voi näyttää eri malliarviointien etenemisen ja niiden kestot, jotka on piirretty aikaa vasten. Tarkkailemalla tätä kaaviota käyttäjät voivat ymmärtää hakuprosessin tehokkuuden, tunnistaa mahdolliset pullonkaulat tai käyttämättömyysjaksot ja ymmärtää erilaisten hyperparametrien arviointien temporaalisen dynamiikan.
fig = fviz.plot_timeline(automl)
# or
fig = fviz.plot(automl, "timeline")
fig.show()
Tuloksena oleva kaavio on seuraava:
Osittajakaavio
Piirtää parametrisuhteen osittajien piirtokaavioksi tutkimuksessa.
Tämä apuohjelma käyttää myös seuraavia argumentteja:
learner
: Määritä oppija, jota aiot tutkia kokeilussa. Tämä parametri soveltuu vain automaattianalyysipalveluiden kokeilutuloksiin. Jättäen tämän tyhjän, järjestelmä valitsee koko kokeilun parhaan oppijan.params
: Luettelo, joka määrittää näytettävän hyperparametrin. Kun tämä jätetään tyhjäksi, järjestelmä näyttää kaikki käytettävissä olevat hyperparametrit.
fig = fviz.plot_slice(automl, learner="sgd")
# or
fig = fviz.plot(automl, "slice", learner="sgd")
fig.show()
Tuloksena oleva kaavio on seuraava:
Hyperparametrin tärkeys
Hyperparametrin tärkeyden kaavio asettaa hyperparametrit visuaalisesti paremmiteettiin sen perusteella, miten ne vaikuttavat automaattianalyysipalveluiden tai virityskokeilun mallin suorituskykyyn. Yleensä palkkikaaviona näytettynä se kvantifioi kunkin hyperparametrin vaikutuksen kohdearvoon. Tarkastelemalla tätä kaaviota harjoittajat voivat nähdä, mitkä hyperparametrit ovat keskeisiä mallin tulosten määrittämisessä ja millä toiminnoilla on minimaalinen vaikutus.
Tämä apuohjelma käyttää myös seuraavia argumentteja:
learner
: Määritä oppija, jota aiot tutkia kokeilussa. Tämä parametri soveltuu vain automaattianalyysipalveluiden kokeilutuloksiin. Jättäen tämän tyhjän, järjestelmä valitsee koko kokeilun parhaan oppijan.params
: Luettelo, joka määrittää näytettävän hyperparametrin. Kun tämä jätetään tyhjäksi, järjestelmä näyttää kaikki käytettävissä olevat hyperparametrit.
fig = fviz.plot_param_importance(automl, learner="sgd")
# or
fig = fviz.plot(automl, "param_importance", learner="sgd")
fig.show()
Tuloksena oleva kaavio on seuraava: