Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wersja próbna hiperparametru lub wersja próbna rozwiązania AutoML wyszukuje optymalne parametry modelu uczenia maszynowego. Każda wersja próbna składa się z wielu przebiegów, w których każde uruchomienie ocenia określoną kombinację parametrów. Użytkownicy mogą monitorować te przebiegi przy użyciu elementów eksperymentów uczenia maszynowego w sieci szkieletowej.
Moduł flaml.visualization
oferuje funkcje do kreślenia i porównywania przebiegów w języku FLAML. Użytkownicy mogą używać narzędzia Plotly do interakcji z wykresami eksperymentów rozwiązania AutoML. Aby używać tych funkcji, użytkownicy muszą wprowadzić ich zoptymalizowane flaml.AutoML
lub flaml.tune.tune.ExperimentAnalysis
obiekt.
W tym artykule pokazano, jak używać modułu flaml.visualization
do analizowania i eksplorowania wyników wersji próbnej rozwiązania AutoML. Możesz również wykonać te same kroki dla wersji próbnej hiperparametru.
Ważne
Ta funkcja jest dostępna w wersji zapoznawczej.
Tworzenie wersji próbnej rozwiązania AutoML
Rozwiązanie AutoML oferuje zestaw zautomatyzowanych procesów, które mogą identyfikować najlepszy potok uczenia maszynowego dla zestawu danych, dzięki czemu cały proces modelowania jest prostszy i często bardziej dokładny. W istocie pozwala to zaoszczędzić kłopoty ręcznego dostrajania różnych modeli i hiperparametrów.
W poniższej komórce kodu:
- Załaduj zestaw danych Iris.
- Podziel dane na zestawy treningowe i testowe.
- Zainicjuj wersję próbną rozwiązania AutoML, aby dopasować dane szkoleniowe.
- Zapoznaj się z wynikami naszej wersji próbnej rozwiązania AutoML za pomocą wizualizacji z witryny
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)
Wizualizowanie wyników eksperymentu
Po uruchomieniu wersji próbnej rozwiązania AutoML należy zwizualizować wyniki, aby przeanalizować, jak dobrze działają modele i jak działają. W tej części naszej dokumentacji pokazano, jak w tym celu używać wbudowanych narzędzi w bibliotece FLAML.
Importowanie modułu wizualizacji
Aby uzyskać dostęp do tych narzędzi wizualizacji, uruchomimy następujące polecenie importu:
import flaml.visualization as fviz
Historia optymalizacji
Wykres historii optymalizacji zwykle zawiera liczbę prób/iteracji na osi x oraz metrykę wydajności (np. dokładność, RMSE itp.) na osi y. W miarę wzrostu liczby prób zobaczysz wykres liniowy lub punktowy wskazujący wydajność poszczególnych prób.
fig = fviz.plot_optimization_history(automl)
# or
fig = fviz.plot(automl, "optimization_history")
fig.show()
Oto wynikowy wykres:
Ważność funkcji
Wykres znaczenia funkcji to zaawansowane narzędzie do wizualizacji, które pozwala zrozumieć znaczenie różnych cech wejściowych podczas określania przewidywań modelu.
fig = fviz.plot_feature_importance(automl)
# or
fig = fviz.plot(automl, "feature_importance")
fig.show()
Oto wynikowy wykres:
Wykres współrzędnych równoległych
Wykres współrzędnych równoległych to narzędzie do wizualizacji, które reprezentuje dane wielowymiarowe, rysując wiele linii pionowych (osi) odpowiadających zmiennym lub hiperparametrom, z punktami danych wykreślonymi jako połączone linie na tych osiach. W kontekście eksperymentu automatycznego uczenia maszynowego lub dostrajania kluczowe znaczenie ma wizualizowanie i analizowanie wydajności różnych kombinacji hiperparametrów. Śledząc ścieżki konfiguracji o wysokiej wydajności, można rozpoznać wzorce lub trendy w wyborach hiperparametrycznych i ich interakcjach. Ten wykres pomaga zrozumieć, które kombinacje prowadzą do optymalnej wydajności, wskazując potencjalne obszary do dalszej eksploracji i identyfikując wszelkie kompromisy między różnymi hiperparametrami.
To narzędzie przyjmuje następujące inne argumenty:
learner
: Określ ucznia, który zamierzasz studiować w eksperymencie. Ten parametr ma zastosowanie tylko do wyników eksperymentu rozwiązania AutoML. Pozostawiając to pole puste, system wybiera najlepsze osoby uczące się w całym eksperymencie.params
: lista określająca hiperparametr do wyświetlenia. Pozostawiając to pole puste, system wyświetla wszystkie dostępne hiperparametry.
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()
Oto wynikowy wykres:
Wykres konturowy
Wykres konturowy wizualizuje dane trójwymiarowe w dwóch wymiarach, gdzie osie x i y reprezentują dwa hiperparametry, a linie konturowe lub wypełnione kontury przedstawiają poziomy metryki wydajności (na przykład dokładność lub utrata). W kontekście eksperymentu automatycznego uczenia maszynowego lub dostrajania wykres konturowy jest korzystny dla zrozumienia relacji między dwoma hiperparametrami i ich połączonym wpływem na wydajność modelu.
Sprawdzając gęstość i pozycjonowanie linii konturowych, można zidentyfikować regiony przestrzeni hiperparametrów, w których wydajność jest zoptymalizowana, ustalić potencjalne kompromisy między hiperparametrami i uzyskać wgląd w ich interakcje. Ta wizualizacja pomaga uściślić obszar wyszukiwania i proces dostrajania.
To narzędzie przyjmuje również następujące argumenty:
learner
: Określ ucznia, który zamierzasz studiować w eksperymencie. Ten parametr ma zastosowanie tylko do wyników eksperymentu rozwiązania AutoML. Pozostawiając to pole puste, system wybiera najlepsze osoby uczące się w całym eksperymencie.params
: lista określająca hiperparametr do wyświetlenia. Pozostawiając to pole puste, system wyświetla wszystkie dostępne hiperparametry.
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()
Oto wynikowy wykres:
Funkcja rozkładu empirycznego
Wykres funkcji rozkładu empirycznego (EDF), często wizualizowany jako funkcja kroku, reprezentuje skumulowane prawdopodobieństwo, że punkty danych są mniejsze lub równe określonej wartości. W ramach eksperymentu automatycznego uczenia maszynowego lub dostrajania wykres EDF można stosować w celu wizualizacji rozkładu wydajności modelu w różnych konfiguracjach hiperparametrów.
Obserwując stromość lub płaskość krzywej w różnych punktach, można zrozumieć koncentrację odpowiednio dobrych lub słabych wydajności modelu. Ta wizualizacja oferuje wgląd w ogólną skuteczność procesu dostrajania, podkreślając, czy większość prób konfiguracji daje zadowalające wyniki, czy tylko kilka konfiguracji wyróżnia się.
Uwaga
W przypadku eksperymentów zautomatyzowanego uczenia maszynowego podczas trenowania zostanie zastosowanych wiele modeli. Próby każdego ucznia są reprezentowane jako seria optymalizacji. W przypadku eksperymentów dostrajania hiperparametrów zostanie oceniony tylko jeden element uczący się. Można jednak udostępnić dodatkowe eksperymenty dostrajania, aby zobaczyć trendy w poszczególnych uczniach.
fig = fviz.plot_edf(automl)
# or
fig = fviz.plot(automl, "edf")
fig.show()
Oto wynikowy wykres:
Wykres osi czasu
Wykres osi czasu, często reprezentowany jako wykres Gantta lub sekwencja słupków, wizualizuje rozpoczęcie, czas trwania i wykonywanie zadań w czasie. W kontekście eksperymentu automatycznego uczenia maszynowego lub dostrajania wykres osi czasu może przedstawiać postęp różnych ocen modelu i ich odpowiednie czasy trwania, wykreślane w czasie. Obserwując ten wykres, użytkownicy mogą zrozumieć wydajność procesu wyszukiwania, zidentyfikować potencjalne wąskie gardła lub okresy bezczynności i zrozumieć czasową dynamikę różnych ocen hiperparametrów.
fig = fviz.plot_timeline(automl)
# or
fig = fviz.plot(automl, "timeline")
fig.show()
Oto wynikowy wykres:
Wykres fragmentatora
Wykreślij relację parametrów jako wykres wycinka w badaniu.
To narzędzie przyjmuje również następujące argumenty:
learner
: Określ ucznia, który zamierzasz studiować w eksperymencie. Ten parametr ma zastosowanie tylko do wyników eksperymentu rozwiązania AutoML. Pozostawiając to pole puste, system wybiera najlepsze osoby uczące się w całym eksperymencie.params
: lista określająca hiperparametr do wyświetlenia. Pozostawiając to pole puste, system wyświetla wszystkie dostępne hiperparametry.
fig = fviz.plot_slice(automl, learner="sgd")
# or
fig = fviz.plot(automl, "slice", learner="sgd")
fig.show()
Oto wynikowy wykres:
Ważność hiperparametrów
Wykres ważności hiperparametrów wizualnie plasuje hiperparametry na podstawie ich wpływu na wydajność modelu w eksperymencie AutoML lub dostrajaniu. Wyświetlany zazwyczaj jako wykres słupkowy określa wpływ poszczególnych hiperparametrów na metrykę docelową. Sprawdzając ten wykres, praktycy mogą rozpoznać, które hiperparametry są kluczowe w określaniu wyników modelu i które mają minimalny wpływ.
To narzędzie przyjmuje również następujące argumenty:
learner
: Określ ucznia, który zamierzasz studiować w eksperymencie. Ten parametr ma zastosowanie tylko do wyników eksperymentu rozwiązania AutoML. Pozostawiając to pole puste, system wybiera najlepsze osoby uczące się w całym eksperymencie.params
: lista określająca hiperparametr do wyświetlenia. Pozostawiając to pole puste, system wyświetla wszystkie dostępne hiperparametry.
fig = fviz.plot_param_importance(automl, learner="sgd")
# or
fig = fviz.plot(automl, "param_importance", learner="sgd")
fig.show()
Oto wynikowy wykres: