9 najlepszych algorytmów analizy danych, które powinien znać każdy analityk danych

Opublikowany: 2020-02-13

Algorytm to zestaw reguł lub instrukcji, którymi kieruje się program komputerowy w celu wykonania obliczeń lub wykonania innych funkcji rozwiązywania problemów. Ponieważ nauka o danych polega na wydobywaniu znaczących informacji z zestawów danych, dostępnych jest mnóstwo algorytmów do rozwiązania tego celu.

Algorytmy nauki o danych mogą pomóc w klasyfikowaniu, przewidywaniu, analizowaniu, wykrywaniu wartości domyślnych itp. Algorytmy stanowią również podstawę bibliotek uczenia maszynowego, takich jak scikit-learn. Dlatego warto mieć solidne zrozumienie tego, co dzieje się pod powierzchnią.

Dowiedz się programów nauki o danych z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Przeczytaj: Algorytmy uczenia maszynowego dla nauki o danych

Spis treści

Powszechnie używane algorytmy analizy danych

1. Klasyfikacja

Jest używany do dyskretnych zmiennych docelowych, a dane wyjściowe mają postać kategorii. Grupowanie, asocjacja i drzewo decyzyjne to sposoby przetwarzania danych wejściowych w celu przewidzenia wyniku. Na przykład nowy pacjent może zostać oznaczony jako „chory” lub „zdrowy” za pomocą modelu klasyfikacji.

2. Regresja

Regresja służy do przewidywania zmiennej docelowej, a także do pomiaru relacji między zmiennymi docelowymi, które mają charakter ciągły. Jest to prosta metoda wykreślenia „linii najlepszego dopasowania” na wykresie pojedynczej cechy lub zbioru cech, powiedzmy x i zmiennej docelowej, y.

Regresję można wykorzystać do oszacowania ilości opadów w oparciu o poprzednią korelację między różnymi parametrami atmosferycznymi. Innym przykładem jest przewidywanie ceny domu na podstawie cech, takich jak powierzchnia, lokalizacja, wiek itp.

Zrozummy teraz jeden z najbardziej podstawowych elementów algorytmów nauki o danych – regresję liniową.

3. Regresja liniowa

Równanie liniowe dla zbioru danych z N cechami może być podane jako: y = b 0 + b 1 .x 1 + b 2 .x 2 + b 3 .x 3 + …..b n .x n , gdzie b 0 jest jakiś stały.

Dla danych jednowymiarowych (y = b 0 + b 1 .x) celem jest zminimalizowanie straty lub błędu do najmniejszej możliwej wartości dla zwracanej zmiennej. To jest główny cel funkcji kosztu. Jeśli założysz, że b 0 ma wartość zero i wprowadzisz różne wartości dla b 1 , odkryjesz, że funkcja kosztu regresji liniowej ma kształt wypukły.

Narzędzia matematyczne pomagają w optymalizacji dwóch parametrów b 0 i b 1 oraz minimalizacji funkcji kosztu. Jeden z nich omówiono w następujący sposób.

4. Metoda najmniejszych kwadratów

W powyższym przypadku b 1 jest wagą x lub nachyleniem prostej, a b 0 jest punktem przecięcia. Ponadto wszystkie przewidywane wartości y leżą na linii. A metoda najmniejszych kwadratów ma na celu zminimalizowanie odległości między każdym punktem, powiedzmy (x i , y i ), przewidywanymi wartościami.

Aby obliczyć wartość b 0 , znajdź średnią wszystkich wartości x i i pomnóż je przez b 1 . Następnie odejmij iloczyn od średniej wszystkich y i . Możesz także uruchomić kod w Pythonie dla wartości b 1 . Te wartości byłyby gotowe do podłączenia do funkcji kosztu, a wartość zwracana byłaby zminimalizowana pod kątem strat i błędów. Na przykład dla b 0 = -34,671 i b 1 = 9,102, funkcja kosztu zwróci wartość 21,801.

5. Zejście gradientowe

W przypadku wielu cech, jak w przypadku regresji wielokrotnej, złożone obliczenia są realizowane za pomocą metod takich jak zejście gradientowe. Jest to iteracyjny algorytm optymalizacji stosowany do wyznaczania lokalnego minimum funkcji. Proces rozpoczyna się od przyjęcia wartości początkowej dla b 0 i b 1 i jest kontynuowany do momentu, gdy nachylenie funkcji kosztu wyniesie zero.

Załóżmy, że musisz udać się do jeziora, które znajduje się w najniższym punkcie góry. Jeśli masz zerową widoczność i stoisz na szczycie góry, zaczniesz w punkcie, w którym ziemia ma tendencję do opadania. Po zrobieniu pierwszego kroku i podążaniu ścieżką zejścia prawdopodobnie dotrzesz do jeziora.

Podczas gdy funkcja kosztu jest narzędziem, które pozwala nam na ocenę parametrów, algorytm gradientu może pomóc w aktualizacji i trenowaniu parametrów modelu. Przyjrzyjmy się teraz kilku innym algorytmom do nauki o danych.

6. Regresja logistyczna

Podczas gdy przewidywania regresji liniowej są wartościami ciągłymi, regresja logistyczna daje przewidywania dyskretne lub binarne. Innymi słowy, wyniki na wyjściu należą do dwóch klas po zastosowaniu funkcji transformacji. Na przykład regresji logistycznej można użyć do przewidzenia, czy uczeń zdał, czy oblał, czy będzie padać, czy nie. Przeczytaj więcej o regresji logistycznej.

7. Grupowanie K-średnich

Jest to algorytm iteracyjny, który przypisuje podobne punkty danych do klastrów. Aby zrobić to samo, oblicza centroidy k skupień i grupuje dane na podstawie najmniejszej odległości od centroidu. Dowiedz się więcej o analizie klastrów w eksploracji danych.

8. K-Najbliższy sąsiad (KNN)

Algorytm KNN przechodzi przez cały zestaw danych, aby znaleźć k-najbliższe instancje, gdy wymagany jest wynik dla nowej instancji danych. Użytkownik określa wartość k, która ma być użyta.

9. Analiza głównych składowych (PCA)

Algorytm PCA zmniejsza liczbę zmiennych, przechwytując maksymalną wariancję danych do nowego systemu „głównych składników”. Ułatwia to eksplorację i wizualizację danych.

Zawijanie

Znajomość algorytmów analizy danych wyjaśnionych powyżej może okazać się niezwykle przydatna, jeśli dopiero zaczynasz w terenie. Zrozumienie sedna sprawy może się również przydać podczas wykonywania codziennych funkcji związanych z analizą danych.

Jeśli jesteś zainteresowany nauką o danych, sprawdź program IIIT-B i upGrad Executive PG w dziedzinie Data Science , który jest stworzony dla pracujących profesjonalistów i oferuje ponad 10 studiów przypadków i projektów, praktyczne warsztaty praktyczne, mentoring z ekspertami z branży, 1 -on-1 z mentorami branżowymi, ponad 400 godzin nauki i pomocy w pracy z najlepszymi firmami.

Jakie są niektóre punkty, które powinniśmy wziąć pod uwagę przed wyborem algorytmu analizy danych dla ML?

Sprawdź liniowość; najłatwiejszą metodą jest dopasowanie linii prostej lub wykonanie regresji logistycznej lub SVM i szukanie błędów resztowych. Większy błąd wskazuje, że dane nie są liniowe i do ich dopasowania potrzebne są zaawansowane techniki.

Algorytmy regresji naiwnej Bayesa, liniowej i logistycznej są łatwe do skonstruowania i wykonania. SVM, który wymaga dostosowania parametrów, sieci neuronowe o krótkim czasie zbieżności i losowe lasy wymagają znacznej ilości czasu na trenowanie danych. W rezultacie dokonaj wyboru na podstawie preferowanego tempa.

Aby wygenerować wiarygodne prognozy, zazwyczaj zaleca się zebranie dużej ilości danych. Często jednak problemem jest dostępność danych. Jeśli dane treningowe są ograniczone lub zestaw danych zawiera mniej obserwacji i większą liczbę cech, takich jak dane genetyczne lub tekstowe, użyj algorytmów o wysokim odchyleniu/niskiej wariancji, takich jak regresja liniowa lub Linear SVM.

Czym są elastyczne i restrykcyjne algorytmy?

Ponieważ tworzą one ograniczoną różnorodność form funkcji mapujących, mówi się, że niektóre algorytmy są restrykcyjne. Na przykład regresja liniowa jest techniką ograniczoną, ponieważ może tworzyć tylko funkcje liniowe, takie jak linie.

Mówi się, że niektóre algorytmy są elastyczne, ponieważ mogą tworzyć większy zakres form funkcji mapujących. KNN z k=1 jest bardzo wszechstronny, na przykład, ponieważ bierze pod uwagę każdy punkt danych wejściowych podczas generowania funkcji mapowania wyjściowego.

Jeśli funkcja jest w stanie przewidzieć wartość odpowiedzi dla danej obserwacji, która jest zbliżona do prawdziwej wartości odpowiedzi, to jest to określane jako jej dokładność. Technika, która jest wysoce interpretowalna (modele restrykcyjne, takie jak regresja liniowa) oznacza, że ​​każdy indywidualny predyktor można zrozumieć, podczas gdy modele elastyczne zapewniają wyższą dokładność kosztem niskiej interpretacji.

Co to jest algorytm Naive Bayesa?

Jest to algorytm klasyfikacji oparty na twierdzeniu Bayesa i założeniu niezależności predyktora. Mówiąc prościej, klasyfikator Naive Bayes stwierdza, że ​​obecność jednej cechy w klasie nie jest związana z obecnością jakiejkolwiek innej cechy. Model Naive Bayes jest prosty w budowie i jest szczególnie przydatny w przypadku dużych zbiorów danych. Ze względu na swoją prostotę, Naive Bayes jest znany z pokonania nawet najpotężniejszych algorytmów klasyfikacji.