Megosztás a következőn keresztül:


Betanítási vizualizációk (előzetes verzió)

A hiperparaméteres próbaverzió vagy az AutoML-próba egy gépi tanulási modell optimális paramétereit keresi. Minden próba több futtatásból áll, ahol minden futtatás egy adott paraméterkombinációt értékel ki. A felhasználók a Fabricben lévő ml-kísérletelemek használatával figyelhetik ezeket a futtatásokat.

A flaml.visualization modul függvényeket kínál a FLAML-futtatások ábrázolásához és összehasonlításához. A felhasználók a Plotly használatával használhatják az AutoML-kísérletdiagramjaikat. Ezeknek a függvényeknek a használatához a felhasználóknak meg kell adniuk az optimalizált flaml.AutoML vagy flaml.tune.tune.ExperimentAnalysis az objektumukat.

Ez a cikk bemutatja, hogyan elemezheti és vizsgálhatja meg az AutoML-próbaeredményeket a flaml.visualization modul használatával. A hiperparaméter-próba lépéseit is követheti.

Fontos

Ez a funkció előzetes verzióban érhető el.

AutoML-próba létrehozása

Az AutoML automatizált folyamatokat kínál, amelyek azonosítják az adathalmaz legjobb gépi tanulási folyamatát, így a teljes modellezési folyamat egyszerűbb és gyakran pontosabb lesz. Lényegében megmenti a különböző modellek és hiperparaméterek kézi finomhangolásának problémáit.

Az alábbi kódcellában a következőket fogjuk megadni:

  1. Töltse be az Írisz-adatkészletet.
  2. Ossza fel az adatokat betanítási és tesztelési csoportokra.
  3. Indítsa el az AutoML-próbaverziót a betanítási adatoknak megfelelően.
  4. Az AutoML-próba eredményeinek megismerése a következőből származó flaml.visualizationvizualizációkkal: .
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)

A kísérlet eredményeinek megjelenítése

Miután futtatott egy AutoML-próbaverziót, vizualizálnia kell az eredményeket, hogy elemezze a modellek teljesítményét és viselkedését. Dokumentációnk ezen részében bemutatjuk, hogyan használhatja a FLAML-kódtár beépített segédprogramjait erre a célra.

Vizualizációs modul importálása

A vizualizációs segédprogramok eléréséhez a következő importálási parancsot futtatjuk:

import flaml.visualization as fviz

Optimalizálási előzmények

Az optimalizálási előzménydiagramok általában az x tengelyen lévő kísérletek/iterációk számát, az y tengelyen pedig egy teljesítménymetrikát (például pontosságot, RM Standard kiadás stb.) is tartalmazza. A kísérletek számának növekedésével egy vonal- vagy pontdiagram jelenik meg, amely az egyes próbaverziók teljesítményét jelzi.

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

Az eredményként kapott ábra:

Az optimalizálási előzmények diagramja.

Funkció fontossága

A funkció fontosságát ábrázoló ábra egy hatékony vizualizációs eszköz, amely lehetővé teszi, hogy megértse a különböző bemeneti funkciók jelentőségét a modell előrejelzéseinek meghatározásában.

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

Az eredményként kapott ábra:

A funkció fontosságát ábrázoló diagram.

Párhuzamos koordinátadiagram

A párhuzamos koordináta-ábrázolás olyan vizualizációs eszköz, amely többdimenziós adatokat jelöl a változóknak vagy hiperparamétereknek megfelelő több függőleges vonal (tengely) rajzolásával, és az adatpontok összekapcsolt vonalként vannak ábrázolva ezeken a tengelyeken. Az AutoML vagy a finomhangolási kísérlet kontextusában fontos szerepet játszott a különböző hiperparaméter-kombinációk teljesítményének vizualizációjában és elemzésében. A nagy teljesítményű konfigurációk útvonalainak nyomon követésével felismerhetők a hiperparaméter-választási minták vagy trendek és azok interakciói. Ez a ábrázolás segít megérteni, hogy mely kombinációk vezetnek az optimális teljesítményhez, azonosítják a lehetséges területeket a további feltáráshoz, és azonosítják a különböző hiperparaméterek közötti kompromisszumokat.

Ez a segédprogram a következő argumentumokat használja:

  • learner: Adja meg a kísérletben tanulni kívánt tanulót. Ez a paraméter csak az AutoML-kísérlet eredményeire vonatkozik. Ha ezt üresen hagyja, a rendszer a legjobb tanulót választja ki az egész kísérletben.

  • params: A megjelenítendő hiperparamétert meghatározó lista. Ha ezt üresen hagyja, a rendszer megjeleníti az összes rendelkezésre álló hiperparamétert.

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()

Az eredményként kapott ábra:

Párhuzamos koordinátadiagram gráfja.

Körvonaldiagram

A kontúrdiagram két dimenzióban jeleníti meg a háromdimenziós adatokat, ahol az x és az y tengely két hiperparamétert jelöl, a körvonalak vagy a kitöltött körvonalak pedig egy teljesítménymetrika szintjeit ábrázolják (például pontosságot vagy veszteséget). Egy AutoML- vagy finomhangolási kísérlet kontextusában a körvonaldiagram hasznos a két hiperparaméter közötti kapcsolat és a modell teljesítményére gyakorolt együttes hatás megértéséhez.

A kontúrvonalak sűrűségének és elhelyezkedésének vizsgálatával azonosítani lehet a hiperparaméter-tér azon régióit, ahol a teljesítmény optimalizálva van, megállapíthatja a hiperparaméterek közötti lehetséges kompromisszumokat, és betekintést nyerhet az interakcióikba. Ez a vizualizáció segít pontosítani a keresési területet és a finomhangolási folyamatot.

Ez a segédprogram a következő argumentumokat is figyelembe veszi:

  • learner: Adja meg a kísérletben tanulni kívánt tanulót. Ez a paraméter csak az AutoML-kísérlet eredményeire vonatkozik. Ha ezt üresen hagyja, a rendszer a legjobb tanulót választja ki az egész kísérletben.

  • params: A megjelenítendő hiperparamétert meghatározó lista. Ha ezt üresen hagyja, a rendszer megjeleníti az összes rendelkezésre álló hiperparamétert.

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()

Az eredményként kapott ábra:

A körvonaldiagram gráfja.

Empirikus eloszlásfüggvény

Az empirikus eloszlásfüggvények (EDF) ábrázolása, amelyet gyakran lépésfüggvényként vizualizálnak, az adott értéknél kisebb vagy egyenlő adatpontok eloszlási valószínűségét jelöli. Az AutoML-ben vagy a finomhangolási kísérletben egy EDF-diagram használható a modellteljesítmények különböző hiperparaméter-konfigurációk közötti eloszlásának vizualizációjára.

A görbe meredekségének vagy síkságának különböző pontokon való megfigyelésével megérthető a jó vagy gyenge modellteljesítmények koncentrációja. Ez a vizualizáció betekintést nyújt a finomhangolási folyamat általános hatékonyságába, kiemelve, hogy a megkísérelt konfigurációk többsége kielégítő eredményt ad-e, vagy csak néhány konfiguráció áll ki.

Feljegyzés

AutoML-kísérletek esetén a betanítás során több modell lesz alkalmazva. Az egyes tanulók próbaverziói optimalizálási sorozatként jelennek meg. A hiperparaméter-finomhangolási kísérletekhez csak egyetlen tanuló lesz kiértékelve. Azonban további hangolási kísérleteket is biztosíthat, hogy az egyes tanulók trendjeit láthassa.

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

Az eredményként kapott ábra:

Az empirikus eloszlásfüggvény diagramja.

Ütemtervdiagram

Az ütemtervdiagram, amely gyakran Gantt-diagramként vagy sávsorozatként jelenik meg, a tevékenységek kezdetét, időtartamát és befejezését jeleníti meg az idő függvényében. Az AutoML vagy a finomhangolási kísérlet kontextusában az ütemtervdiagram bemutatja a különböző modellértékelések előrehaladását és azok időtartamait, idő szerint ábrázolva. A diagram megfigyelésével a felhasználók megragadhatják a keresési folyamat hatékonyságát, azonosíthatják a lehetséges szűk keresztmetszeteket vagy tétlenségi időszakokat, és megérthetik a különböző hiperparaméter-értékelések időbeli dinamikáját.

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

Az eredményként kapott ábra:

Ütemtervdiagram gráfja.

Szeletdiagram

A paraméterkapcsolat ábrázolása szeletdiagramként egy tanulmányban.

Ez a segédprogram a következő argumentumokat is figyelembe veszi:

  • learner: Adja meg a kísérletben tanulni kívánt tanulót. Ez a paraméter csak az AutoML-kísérlet eredményeire vonatkozik. Ha ezt üresen hagyja, a rendszer a legjobb tanulót választja ki az egész kísérletben.

  • params: A megjelenítendő hiperparamétert meghatározó lista. Ha ezt üresen hagyja, a rendszer megjeleníti az összes rendelkezésre álló hiperparamétert.

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

Az eredményként kapott ábra:

Szeletdiagram gráfja.

A hiperparaméter fontossága

A hiperparaméterek fontossági ábrázolása vizuálisan rangsorolja a hiperparamétereket az AutoML- vagy finomhangolási kísérletek modellteljesítményére gyakorolt hatásuk alapján. Általában sávdiagramként jelenik meg, és számszerűsíti az egyes hiperparaméterek hatását a célmetrikára. Ennek a diagramnak a vizsgálatával a gyakorlók felismerhetik, hogy mely hiperparaméterek kulcsfontosságúak a modell eredményeinek meghatározásában, és melyeknek van minimális hatása.

Ez a segédprogram a következő argumentumokat is figyelembe veszi:

  • learner: Adja meg a kísérletben tanulni kívánt tanulót. Ez a paraméter csak az AutoML-kísérlet eredményeire vonatkozik. Ha ezt üresen hagyja, a rendszer a legjobb tanulót választja ki az egész kísérletben.

  • params: A megjelenítendő hiperparamétert meghatározó lista. Ha ezt üresen hagyja, a rendszer megjeleníti az összes rendelkezésre álló hiperparamétert.

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

Az eredményként kapott ábra:

A hiperparaméterek fontossági diagramjának grafikonja.