Odkrywanie AutoML: najlepsze dostępne narzędzia [Co musisz wiedzieć]
Opublikowany: 2020-12-07Cykl życia uczenia maszynowego to zbiór procesów, które obejmują zbieranie danych, czyszczenie danych, inżynierię funkcji, wybór funkcji, budowanie modeli, dostrajanie hiperparametrów, walidację i wdrażanie modeli.
Podczas gdy zbieranie danych może przybierać wiele form, takich jak ręczne ankiety, wprowadzanie danych, web scrapping lub dane generowane podczas eksperymentu, czyszczenie danych polega na tym, że dane są przekształcane w standardową formę, którą można wykorzystać na innych etapach cyklu życia .
Niedawny wzrost uczenia maszynowego zachęcił również wiele firm do przyjęcia rozwiązania opartego na sztucznej inteligencji w swoich głównych produktach, a zatem na rynku pojawił się nowy rozdział AutoML. Może to być świetne narzędzie do szybkiego konfigurowania rozwiązań opartych na sztucznej inteligencji, ale nadal istnieją pewne niepokojące czynniki, które należy rozwiązać.
Spis treści
Co to jest AutoML?
Jest to zestaw narzędzi, który automatyzuje niektóre części uczenia maszynowego, który sam w sobie jest zautomatyzowanym procesem generowania prognoz i klasyfikacji prowadzących do praktycznych wyników. Chociaż może zautomatyzować tylko inżynierię funkcji, tworzenie modeli, a czasem etapy wdrażania, większość narzędzi AutoML obsługuje wiele algorytmów uczenia maszynowego i prawie tyle samo metryk oceny.
Po uruchomieniu tego rodzaju narzędzie uruchamia ten sam zestaw danych dla wszystkich algorytmów, testuje różne metryki związane z problemem, a następnie przedstawia szczegółową kartę raportu. Przyjrzyjmy się niektórym znanym narzędziom dostępnym na rynku i szeroko stosowanym.
H2O.ai
Jednym z wiodących rozwiązań w AutoML jest H2O.ai, który oferuje gotowe w branży rozwiązania problemów biznesowych, nie kodując niczego od podstaw. Dzięki temu każdy z dowolnej domeny może wydobyć sensowne spostrzeżenia z danych bez konieczności posiadania wiedzy z zakresu uczenia maszynowego.

H2O to oprogramowanie typu open source, które obsługuje wszystkie szeroko stosowane modele uczenia maszynowego i podejścia statystyczne. Został stworzony, aby dostarczać superszybkie rozwiązania, ponieważ dane są rozprowadzane w klastrach, a następnie przechowywane w pamięci w formacie kolumnowym, umożliwiając równoległe operacje odczytu.
Nowsze wersje tego projektu mają również obsługę GPU, co czyni go szybszym i wydajniejszym. Spójrzmy, jak można to zrobić za pomocą Pythona (uruchom kod w notatniku jupyter, aby lepiej zrozumieć):
!pip install h2o # uruchom to, jeśli jeszcze go nie zainstalowałeś
importuj h2o
h2o.init()
z h2o.automl importuj H2OAutoML
df = h2o.import_file() # Tutaj podaj ścieżkę do pliku
y = 'docelowa etykieta'
x = df.usuń(y)
X_train, X_test, X_validate = df.split_frame(współczynniki=[.7, .15])
model_obj = H2OAutoML(max_models = 10, seed = 10, gadatliwość=”informacje”, nfolds=0)
model_obj.train(x = x, y = y, training_frame = X_train, validation_frame=X_validate)
wyniki = model_obj.leaderboard
Spowoduje to przechowywanie wyników wszystkich algorytmów wyświetlających ich odpowiednie metryki w zależności od problemu.
Przeczytaj: Narzędzia uczenia maszynowego
Picaret
Jest to całkiem nowa biblioteka wprowadzona w tym roku, która obsługuje szeroką gamę funkcji AutoML za pomocą zaledwie kilku linijek kodu. Czy to przetwarzanie brakujących wartości, przekształcanie danych kategorycznych do formatu, który można podawać modelowi, dostrajanie hiperparametrów, czy nawet inżynieria funkcji, PyCaret automatyzuje to wszystko za kulisami, kiedy możesz bardziej skupić się na strategiach manipulacji danymi.

Jest to bardziej opakowanie Pythona dla wszystkich dostępnych narzędzi i bibliotek uczenia maszynowego, takich jak NumPy, pandas, sklearn, XGBoost itp. Zobaczmy, jak można wykonać problem klasyfikacji za pomocą Pycaret:
!pip install pycaret # uruchom to, jeśli jeszcze go nie zainstalowałeś
z pycaret.datasets importuj get_data
z importu pycaret.classification *
df = get_data('cukrzyca')
setting = setup(cukrzyca, cel = 'zmienna klasy')
Compare_models() # Ta funkcja po prostu wyświetla porównanie wszystkich algorytmów!
selected_model = create_model() # podaj nazwę algorytmu, który chcesz utworzyć
model_przewidywania(wybrany_model)
final_model = finalize_model(selected_model)
save_model(final_model , 'file_name')
załadowany = load_model('nazwa_pliku')
To wszystko, właśnie utworzyłeś potok transformacji, który wykonał inżynierię funkcji, wytrenował model i zapisał go!
Przygotowanie danych Google
Przyjrzeliśmy się dwóm bibliotekom, które automatyzują wybór funkcji, budowanie modelu i dostrajanie go, aby uzyskać najlepsze wyniki, ale nie omawialiśmy, jak można zautomatyzować czyszczenie danych. Proces ten można na pewno zautomatyzować, ale wymaga on ręcznej weryfikacji, czy przekazywane są właściwe dane lub czy wartości mają sens, czy nie.
Więcej danych jest zaletą budowania modelu, ale powinny to być dane wysokiej jakości, aby uzyskać wysokiej jakości wyniki. Google DataPrep to inteligentne narzędzie do przygotowywania danych oferowane jako platforma jako usługa, która umożliwia wizualne czyszczenie danych, co oznacza, że możesz zmieniać dane bez kodowania nawet jednej linii i tylko wybierania opcji.

Oferuje interaktywny graficzny interfejs użytkownika, który bardzo ułatwia wybieranie opcji do wykonywania funkcji, które chcesz zastosować. Najlepsze w tym narzędziu jest to, że wyświetla wszystkie zmiany dokonane w zestawie danych w panelu bocznym w kolejności, w jakiej zostały wykonane, a każdy krok można zmienić. Pomaga w śledzeniu zmian. Zostaniesz poproszony o sugestie, które w większości są poprawne.
Otrzymany plik można wyeksportować do pamięci lokalnej lub, ponieważ ta usługa jest dostępna w Google Cloud Platform, możesz bezpośrednio przenieść ten plik do dowolnego zasobnika Google Storage lub tabel BigQuery, gdzie możesz wykonywać zadania uczenia maszynowego bezpośrednio w edytorze zapytań. Główną przeszkodą w tym przypadku mogą być jego powtarzające się koszty, nie jest to projekt typu open source, a raczej pełnoprawne rozwiązanie branżowe.
Czy to może zastąpić naukowców zajmujących się danymi?
Absolutnie nie! AutoML jest świetny i może pomóc Data Scientistowi przyspieszyć określony cykl życia, ale zawsze potrzebna jest fachowa porada. Na przykład uzyskanie odpowiedniego modelu dla określonego problemu z AutoML, który obsługuje wszystkie algorytmy, zajmie dużo czasu, niż od eksperta, który uruchomi go na określonych algorytmach, które najlepiej pasują do problemu.
Analitycy danych będą musieli zweryfikować wyniki tego rodzaju automatyzacji, a następnie dostarczyć realne rozwiązanie dla firm. Eksperci dziedzinowi uznają tę automatyzację za bardzo przydatną, ponieważ mogą nie mieć dużego doświadczenia w wyciąganiu wniosków z danych, ale te narzędzia poprowadzą ich w najlepszy sposób.
Jeśli chcesz opanować uczenie maszynowe i nauczyć się szkolić agenta, aby grał w kółko i krzyżyk, szkolił chatbota itp., sprawdź kurs Uczenie maszynowe i sztuczna inteligencja firmy upGrad.