W tym artykule przedstawiono dogłębną analizę uczenia maszynowego i kompleksowego cyklu życia tworzenia modeli uczenia maszynowego. Wszyscy jesteśmy świadomi możliwości modeli uczenia maszynowego, a niektóre popularne modele umożliwiają przewidywanie akcji, filtrowanie spamu i handel giełdowy, żeby wymienić tylko kilka... Aby rozpocząć pracę nad takimi opisami problemów, należy wykonać cały cykl życia należy postępować zgodnie ze wszystkimi sekcjami pracy, które należy wykonać, aby uruchomić model uczenia maszynowego od danych do wdrożenia.

Główne sekcje poświęcone kompleksowemu uczeniu maszynowemu są następujące:

I. Opis problemu

II. Dane + EDA

III. Czyszczenie danych

IV. Szkolenia i testowanie

V. Wdrożenie

I. Opis problemu

Chociaż w prawdziwym świecie istnieje wiele opisów problemów, nie wszystkie można rozwiązać za pomocą technik uczenia maszynowego, niektóre można rozwiązać za pomocą prostych lub złożonych technologii oprogramowania bez użycia kodu uczenia maszynowego. Niektóre czynniki przy rozważaniu stwierdzenia problemu:

A. Problemy z uczeniem maszynowym zazwyczaj wymagają dużo danych do trenowania, aby uzyskać dużą dokładność i wyniki podczas testów. Jeśli konkretny opis problemu nie zawiera wielu danych na jego temat, modele mogą dawać niską dokładność lub powodować problemy z dopasowaniem.

II. Dane + eksploracyjna analiza danych (EDA)

Druga sekcja składa się z dwóch głównych części, tj. danych i EDA. Jak omówiono powyżej, każdy model uczenia maszynowego wymaga dużej ilości danych wysokiej jakości do trenowania. Gromadzenie danych dla modelu nazywa się gromadzeniem danych

Zbieranie danych:Dane to zbiór faktów. dane mogą być dowolnego typu, tj. wiersze i kolumny (tabele), JSON, obrazy, filmy, tekst, pliki audio itp. Ogólnie rzecz biorąc, modele ML zajmują się informacjami tabelarycznymi formalnie zwanymi plikami .csv, ale mogą istnieć przypadki, gdy trzeba użyć nieustrukturyzowanej formy danych, takiej jak pliki JSON pobrane ze stron internetowych, dane z baz danych za pomocą zapytań itp. O tym, jak zbierać dane, będziemy dyskutować w kolejnych artykułach.

EDA: być może najważniejsza część kompleksowego uczenia maszynowego. Po zebraniu danych z różnych źródeł i metod mamy teraz do czynienia z wieloma wierszami i kolumnami (w dalszych dyskusjach będziemy rozważać dane w postaci plików .csv, czyli danych tabelarycznych). EDA dzieli się na dwie części:

1. Analiza jednoczynnikowa

2. Analiza dwuwymiarowa

Jak sama nazwa wskazuje, analizy te przeprowadzane są na pojedynczym obiekcie/kolumnie (lub) połączonych dwóch lub większej liczbie obiektów/kolumn.

W analizie jednoczynnikowej każda kolumna jest analizowana w celu sprawdzenia, czy zawiera ona brakujące wartości, niewłaściwy typ danych, wartości odstające itp. Wszelkie dane są dzielone na dwie kategorie, tj. kategoryczne i liczbowe. W przypadku kategorycznych typów danych dane mówią o tym, do której kategorii należą dane, np. Mężczyzna/Kobieta, stopień A/B/C, kraj (USA/IN/Wielka Brytania), stanowisko (CEO/CFO) itp. Narzędzia do wizualizacji, takie jak matplot, dają znacznie lepszy wgląd niż samo patrzenie na dane. Korzystając z wykresów, takich jak wykres liczbowy, wykres kołowy, wykres histplot itp., możemy wizualizować te kolumny i dokładniej dowiedzieć się o nich więcej.

W analizie dwuwymiarowej dwie lub więcej kolumn są analizowane razem, np. doświadczenie i wynagrodzenie, aby lepiej zrozumieć te kolumny i ichkorelację ze sobą. Znajomość relacji między cechami jest w tym procesie bardzo ważna, ponieważ pomaga nam w procesie selekcji cech. używając wykresów takich jak wykres punktowy, wykres pudełkowy, wykres histplot itp. możemy wizualizować te kolumny.

O EDA będziemy szczegółowo mówić w kolejnych artykułach.

III. Czyszczenie danych

Być może najbardziej czasochłonny proces dla każdego analityka/naukowca zajmującego się danymi w czasie rzeczywistym.Żaden zbiór danych nie jest idealny(co za filmowa linia 😉) Każdy zbiór danych ma pewne niedoskonałości, takie jak brakujące wartości, wartości odstające itp. Wysyłanie czystych danych do modelu uczenia maszynowego jest bardzo konieczne. Złota zasada w ML to:

Wywóz śmieci..Wywóz śmieci..tj. jeśli wyślesz oczyszczone dane do przeciętnego modelu Ml, działa on znacznie lepiej niż dobry model ml z nieoczyszczonymi danymi.

Niektóre z typowych operacji czyszczenia danych, które należy wykonać, to:

a. Brakująca wartość: Obsługa brakujących wartości jest konieczna, ponieważ model ML może zostać zepsuty, gdy występują jakiekolwiek brakujące wartości. Obsługa brakujących wartości może odbywać się na wiele sposobów. Niektóre z popularnych sposobów postępowania to (i) usunięcie całej kolumny i (ii) użycie imputerów ze sckit-learn.

b. Usuń kolumny i duplikaty:po przeprowadzeniu EDA na zbiorze danych możesz poinformować, że istnieje kilka kolumn, które nie mają żadnego znaczenia w modelu. Takie kolumny można usunąć ze zbioru danych. np. Identyfikator pracownika, Identyfikator zamówienia w Amazonie, itp. Niektóre wiersze mogą się zduplikować z powodu błędu przy wprowadzaniu danych. Te wiersze należy usunąć, ponieważ tylko duplikują Twoje dane, co prowadzi do niskiej wydajności modelu.

c. Niepoprawne i nieistotne: Niektóre dane mogą być nieprawidłowe, np. w przypadku -ve wartości ceny samochodu, którymi musisz się zająć niezależnie. W przypadku danych kategorycznych należy poświęcić czas na analizę unikalnej wartości w kolumnie, np. kolumna kolorów zawiera kolor niebieski, niebieski, NIEBIESKI, NIEBIESKI itp. Z technicznego punktu widzenia wszystkie są różnymi cechami modelu ML, ale praktycznie wszystkie mają te same cechy.

d. Dane kategoryczne:modele ML są zazwyczaj zasilane danymi liczbowymi. Modele Ml nie rozumieją kategorycznego znaczenia wartości, dlatego należy je przekonwertować na klasy numeryczne, np. kolor niebieski i czerwony można przekształcić odpowiednio w klasy numeryczne 1,2. Istnieje wiele technik kodowania, takich jak jedno kodowanie na gorąco, kodowanie etykiet, kodowanie binarne, kodowanie docelowe, kodowanie porządkowe itp.

Na tym etapie zaleca się również, nad którym algorytmem będziesz pracować, ponieważ algorytmy oparte na drzewach nie wymagają wykrywania ani skalowania wartości odstających.

tj. Wykrywanie wartości odstających:Wartości odstające to punkty danych w zbiorze danych, które znajdują się w nienormalnej odległości od innych wartości w próbie (dowiedz się więcej tutaj).Dowolne Wykryte wartości odstające należy usunąć ze zbioru danych.Nie jest to konieczne w przypadku algorytmów opartych na drzewie.

f. Wybór funkcji:tylko określony podzbiór zmiennych dostarczających najwięcej informacji jest używany i wprowadzany do modelu. Dzięki temu model może działać dokładniej, może mieć niższy koszt obliczeniowy i większą prędkość. Technika wyboru cech dobrego modelu opiera się na wiedzy dziedzinowej dotyczącej opisu problemu, doświadczenia, prób i błędów.

g. Skalowanie funkcji:jest to ostatni etap przetwarzania danych, który polega na skalowaniu danych do tej samej skali. Algorytmy oparte na odległości mogą napotkać problem, gdy wartości kolumny są bardzo duże, aby obliczyć odległości, np. (wiek, wynagrodzenie) odległości mogą być bardzo duże, ponieważ w wieku powiedzmy 35 lat pensja może wynosić około 35 litrów. Można to uzyskać stosując techniki standaryzacji i normalizacji. Nie jest to konieczne w przypadku algorytmów opartych na drzewach.

Kolejność wykonywania powyższych metod nie jest pewna i może ulec zmianie w zależności od sformułowania problemu. Dowiemy się bardziej szczegółowo o każdej metodzie w przyszłych artykułach.

IV. Szkolenia i testowanie

Po wykonaniu powyższych metod w celu oczyszczenia danych, należy je teraz wprowadzić do modeli uczenia maszynowego. Przed treningiem należy wykonać kilka ważnych kroków:

a. Podział walidacji:przed wprowadzeniem danych do modelu dane są zazwyczaj dzielone na 2 części, tj. dane szkoleniowe i dane sprawdzające (czasami także zbiór testowy). Model ML uczy się wyłącznie na podstawie danych szkoleniowych. Zbiór walidacyjny służy do oceny wydajności modelu poprzez określenie dokładności przewidywań na zbiorze danych. Można zastosować bardziej zaawansowane techniki, takie jak k-krotna weryfikacja krzyżowa.

b. Modelowanie:w ogólnym zarysie modele uczenia maszynowego można podzielić na 2 kategorie, tj. (i) uczenie się nadzorowane i (ii) uczenie się bez nadzoru. Wuczeniu nadzorowanym dane wejściowe i wyjściowe znajdują się w zbiorze danych. Możemy wykonywać operacje, takie jak regresja i klasyfikacja, gdzie wyniki są odpowiednio liczbowe i kategoryczne. W uczeniu bez nadzoruw zbiorze danych podawane są tylko dane wejściowe. Możemy wykonywać operacje takie jak grupowanie, redukcja wymiarowości, redukcja anomalii itp. Dogłębne informacje i intuicję matematyczną na temat różnych modeli można znaleźć w różnych artykułach.

c. Wyniki i dostrajanie:po przeszkoleniu i sprawdzeniu zbioru danych można uzyskać dokładność wyszkolonego modelu. ogólnie uważa się, że dobry model ml ma dokładność około 95% i nie ma żadnych problemów z dopasowaniem.

Ważną ostrożnością, jaką należy zachować podczas modelowania, jest kompromis w zakresie odchylenia i wariancji. (Dowiedz się więcej tutaj)

W. Wdrożenie

Wow, wykonaliśmy wiele operacji, aby stworzyć dobry, dokładny model ML. Teraz przejdź o kolejny krok do przodu i wdróż swój model ML i użyj go do rozwiązania problemu, np. do wykrywania spamu, wykrywania oszustw związanych z kartami kredytowymi, handlu akcjami itp. Istnieje wiele sposobów wdrożenia modeli ml w aplikacji, np. pliki pl (marynata), szybkie API, TensorFlow lite dla aplikacji mobilnych itp...

Mam nadzieję, że artykuł Ci się spodoba 😉 Śledź mnie na Medium i LinkedIn, aby uzyskać więcej artykułów na temat ML.