Czym jest Data Science?
Od 2012 roku określenie to stało się niezwykle chwytliwe w branży informatycznej, chociaż samo posiada wiele różnych definicji. Najprostszą jest: nauka o danych. Warto to jednak rozwinąć o: …zawierająca metody przetwarzania, profilowania, wizualizacji i uczenia maszynowego. Właśnie te cztery elementy zostaną opisane w tym artykule, chociaż trzeba zaznaczyć, że nie są to jedyne aspekty Data Science, które zakłada również proces samego pobrania i eksportu danych, zapoznania się z branżą, odpowiednią prezentacją obserwacji, czy wiele innych pokrewnych analizie danych.
Elementy procesu Data Science
Zanim przejdziemy do funkcji związanych z przetwarzaniem danych, a następnie do ich analizy, spójrzmy na to, co należy zaplanować w ramach przygotowania danych. W pierwszym kroku warto odkryć co może kryć w sobie zestaw danych. Najlepiej rozpocząć od eksploracji danych.
Zanim zajmiemy się Data Science – eksploracja danych
Eksploracja danych wymagała kiedyś umiejętności pisania kodu przez inżynierów danych (data scientist). Kodowanie stanowi główną barierę między surowymi danymi a ich analizą. Używając zautomatyzowanych narzędzi, które zawierają przygotowane bloki w całym procesie przygotowania danych, analitycy danych i użytkownicy biznesowi mogą się zanurzyć bezpośrednio do zbioru danych i eksplorować je w surowej postaci.
Techniki eksploracji danych
Skanowanie nazw kolumn i opisów pól, aby sprawdzić, czy istnieją występują anomalie lub brakuje jakichkolwiek informacji.
- Weryfikacja zmiennych: ile zawierają unikalnych wartości? Jakie mają są zakresy i tryby?
- Odnajdowanie nietypowych punktów danych, które mogą zniekształcić wyniki. Przy pomocy wizualizacji danych na wykresach (tj. wykresy punktowe, pudełkowe, scatter plots, histogramy) lub w podejściu numerycznym tj. z-score.
- Po zbadaniu istotności statystycznej anomalii pozostaje nam dostosowywanie, pomijanie lub ignorowanie danych odstających.
Przetwarzanie danych w Data Science
Na przetwarzanie danych składają się takie operacje jak:
- Czyszczenie danych – usuwanie pustych kolumn, wierszy i komórek, usuwanie podwójnych spacji, itd.
- Tworzenie nowych zmiennych (Feature Engineering) – użycie instrukcji warunkowych i wszelkiego rodzaju funkcji do stworzenia nowych kolumn. Ma to na celu wzbogacenie lub uproszczenie modelu uczenia maszynowego.
- Próbkowanie danych – przyjęło się dzielić dane na te treningowego i testowe w eksperymentach Data Science. Istotnym jest zatem odpowiednie (losowe) rozdzielenie danych na te dwie kategorie.
- Sortowanie danych
- Filtrowanie danych
- Modyfikacje metadanych (typ, rozmiar) – ważną kwestią jest zawsze kontrolować jaki typ mają dane, które badamy oraz rozmiar.
- Łączenie danych – wszelkiego rodzaju instrukcję join, czy union.
- Modyfikacje przy użyciu wyrażeń regularnych – podobnie jak w przypadku feature engineering, tworzyć możemy nowe kolumny (i nie tylko) przy użyciu wyrażeń regularnych. Przydatne przy szeroko pojętym NLP (natural language processing)
- Grupowanie – agregacja danych
Wszystkie z ww. akcji jesteśmy w stanie zrobić w Alteryx. Proponuje on zestawy z grupy tzw. preparation, czyli tych właśnie, które służą do przygotowania danych do dalszej obróbki.
Najlepiej, gdy można rejestrować dane i ich przetwarzanie tak, aby móc wrócić i prześledzić wszelkie kroki i odnaleźć ewentualne błędy. Korzystnym jest aby inni mogli powtórzyć Twoje wyniki na własną rękę.
Przejrzystość i powtarzalność bardzo usprawniają procesy data science. W tym celu niezbędne są bardziej wszechstronne narzędzia oparte na automatyzacji, tak jak Alteryx.
Profilowanie i wizualizacja danych w Data Science
Podczas profilowania staramy się znaleźć odpowiednie miary takich wskaźników jak:
- Kompletność danych – procent danych, niebędących wartością NULL
- Dokładność formatu – procent danych o właściwym formacie (np. kod pocztowy z pięcioma cyframi)
- Poprawność wartości – procent danych z wartością mającą sens, wartość, która znajduje się na liście referencyjnej (np. możliwy nazwa kraju, miasta)
- Spójność – procent danych, które są zgodne z innymi kolumnami lub zewnętrznym źródłem (np. kod pocztowy wskazujący na takie same miasto, jak wartość kolumny miasto)
- Unikalność wartości – sprawdzenie danych pod kątem duplikatów
Przy odpowiedniej jakości danych mamy pewność, że algorytm pokaże wartościowe wyniki. Ważną zasadą jest tutaj Garbage In, Garbage Out.
Profilowanie danych jest zatem bardzo ważne. Wykorzystanie wizualizacji danych pozwala na ich eksploracje i sprowadza się m.in. do odczytania rozkładów zmiennych liczbowych, czy wykrycia wartości mocno odchylonych od średniej (tzw. outlinerów).
Wizualizacja danych to nie najważniejsza z możliwości Alteryx, jednak posiada on opcję podglądania na bieżąco tego, stanie faktycznego danych, czy brakuje w nich wartości i jaki przedstawiają rozkład (mowa o Browse Tool).
Algorytmy uczenia maszynowego w data science
Ideą uczenia maszynowego jest stworzenie algorytmu, który na podstawie podanych mu danych, przewidzi pewne zachowania, odpowiednio je sklasyfikuje lub pogrupuje.
W uczeniu maszynowym rozróżniamy dwa rodzaje algorytmów, tj. te z nadzorem lub te bez nadzoru. W pierwszym przypadku algorytm ma do dyspozycji konkretny output zmiennych (np. mamy do dyspozycji wiek, balans, wykształcenie oraz jako wyniki – spłacenie kredytu, lub nie). W przypadku algorytmów bez nadzoru mamy do dyspozycji jedynie zmienne, bez wyniku.
Typy algorytmów z grupy z nadzorem (supervised) w Data Science
- Regresja – wynik (output) jest w formie zmiennej ciągłej. Za przykład regresji może służyć wartość sprzedaży prognozowana na podstawie danych historycznych. Najpopularniejszym algorytmem regresji jest jej liniowa odmiana (dostępna również w Alteryx).
- Klasyfikacja – wynik jest w formie zmiennej dyskretnej. Przykładem może być ww. problematyka, czy dany klient banku spłaci kredyt czy nie (1 – spłaci, 0 – nie spłaci). Najpopularniejszymi algorytmami jest regresja logistyczna, drzewa decyzyjne, drzewa losowe.
Typ algorytmów z grupy bez nadzoru (unsupervised) w Data Science
- Klastrowanie – algorytmy z tej grupy służą do grupowania danych na podstawie podobnych charakterystyk. Przykładem mogą być grupy klientów o podobnej ilości sprzedaży, częstotliwości kupna, daty od pierwszego zamówienia, itd. Najpopularniejszym algorytmem klastrowania jest KNN (K-Means Clustering).
Użycie oprogramowania Alteryx w procesie Data Science
Dlaczego Alteryx w data science?
Alteryx zapewnia intuicyjny dostęp do narzędzi pozwalających na szybką i dokładną analizę danych. Alteryx przyspiesza pracę data scientist, jak i również jest narzędziem dla osób, które nie mają doświadczenia data scientist, ale chcą zyskać całościowy wpływ w obszarze analizy danych. Problemem, z którym styka się wiele osób jest dosyć wysoki próg wejścia, nie tyle co w procesowaniu danych, ale przede wszystkim w wykorzystaniu ich w późniejszych algorytmach. Domyślnie używano różnego rodzaju bibliotek popularnych języków programowania (takich jak pandas, scikitlearn w Pythonie, czy tidyverse w R). Przy pomocy Alteryx nie jest wymagana umiejętność programowania, chociaż można posłużyć się skryptami w ww. językach i dodać je do przypływu.
Poczynając od załadowania dużych zbiorów danych z różnych baz danych i innych źródeł, łączenie, opracowywaniu i wykorzystaniu w uczeniu maszynowych, Alteryx ukazuje nam się jako przystępne narzędzie do natychmiastowego użycia w Data Science.
Algorytmy uczenia maszynowego w Alteryx
Uczenie maszynowe (machine learning) czyli proces iteracyjny, za którym podąża komputer, gdy człowiek poprosi go o zidentyfikowanie wzorców w zbiorze danych przy określonych ograniczeniach. Z rozpoznawania wzorców pochodzą predyktywne przypadki użycia, takie jak modelowanie reakcji klientów, prognozowanie popytu i zapasów oraz wiele innych aplikacji, które napędzają wydajność biznesową.
Regresja
W Alteryx znajdziemy kilka rodzajów algorytmów związanych z regresją, jednak najpopularniejszym z nich to klasyczna regresja liniowa.
Narzędzie do użycia regresji liniowej posiada jedno wejście (dane wejściowe) oraz trzy wyjścia:
- Wyświetla dane (nazwa, rozmiar) o modelu.
- Wyświetla raport z podsumowaniem, wartościami i wykresem.
- Wyświetla interaktywny dashboard.
Sam modelu już sam dokonuje podziału na dane treningowe i testowe, a ich podział możemy manualnie konfigurować, podobnie jak wiele innych wartości (poziom alfa, wagi, itd.)
Klasyfikacja
Podobnie jak w przypadku regresji, jest i w kwestii klasyfikacji. Do dyspozycji mamy takie algorytmy jak:
- regresja logistyczna,
- naiwny Bayes,
- lasy losowe,
- drzewa decyzyjne,
- sieci neuronowe oraz wiele innych.
Klastrowanie
Najpopularniejszym modelem w tej grupie jest KNN. Pozwala on na znalezienie punktów, które mogłyby należeć do tej samej grupy. Konfiguracja narzędzia pozwala na użycie różnego rodzaju wariantów tego algorytmu, a sam output ukazuje nam pełną tabelę z przypisaną klasą.
Inne
W Alteryx znajdziemy również spory nacisk na analizę szeregów czasowych. Do użytku mamy dwa modele tj. ARIMA oraz ETS. Dzięki temu możemy przewidzieć przyszłe wartości (np. sprzedaży) w oparciu o bazy danych historycznych (badając przy tym trend, czy sezonowość).
Dodatkowo, dzięki dodatkowo płatnemu pakietowi, dostajemy do jeszcze bardziej wyspecjalizowanych algorytmów uczenia maszynowego (Fit Tool, AutoML, itd.) Jeżeli ktoś jednak chciałbym napisać swój własny model (wszelkie modele dostępne w Alteryx są napisane w języku R), to może użyć skryptu w R lub Pythonie.
Przykład zastosowania Alteryx w predykcji
Jako przykład zastosowania Alteryx w Data Science podana zostanie predykcja ceny mieszkań na bazie modelu regresji liniowej. Dane zostaną wcześniej, w sposób bardzo elementarny, przerobione, a następnie podzielone i użyte do budowy modelu. Każdy z etapu zostanie omówiony w podrozdziałach poniżej. Całość przepływu danych wygląda tak:
Pobranie danych
Źródłem danych jest strona kaggle, gdzie znaleźć można darmowe zestawy do analizy danych. Same dane zawierają takie zmienne objaśniające jak:
- data transakcji,
- wiek domu w latach,
- odległość do najbliższej stacji metra,
- ilość sklepów w pobliżu,
- szerokość geograficzna,
- długość geograficzna,
i zmienną objaśnianą: cena domu.
Zadaniem całego przepływu w Alteryx będzie zatem predykcja ceny domu za pomocą ww. zmiennych objaśniających.
Link:
Przygotowanie danych
Sam zestaw zawiera 414 rekordów, wszystkie są kompletne (wskazuje na to zielony pasek pod nazwą pola w zdjęciu powyżej). Jedynym przygotowaniem jakiego się podejmiemy to zmiana typu danych ze zmiennych tekstowych na liczbowe oraz zmiana nazw pól na krótsze i bardziej czytelne.
Ważnym elementem jest również wybór odpowiednich zmiennych. Już na tym poziomie możemy stwierdzić, że takie zmienne jak szerokość/wysokość geograficzna będą mało interpretowalne. Dla uproszczenia modelu data transakcji również zostanie usunięta.
Dane ostatecznie wyglądają tak:
Z racji tego, że posiadamy jedynie dane, które już mają cenę to podzielimy zestaw danych na te, które zostaną przewidziane do modelu regresji oraz te, które chcemy za pomocą tego modelu przewidzieć (w stosunku 80:20 na rzecz tych pierwszych).
Model regresji
Model liniowej regresji jest jednym z najprostszych, jakie można użyć w uczeniu maszynowym, ale nie bez powodu jednym z najpopularniejszych.
W samym Alteryx wygląda następująco:
Widzimy zatem prostotę narzędzia, gdzie wybieramy odpowiednie kolumny do nauczenia modelu.
Raport modelu:
Raport pokazuje, że wszystkie zmienne są istotne statystycznie oraz to w jakim stopniu dane zmienne wpływają na cenę mieszkania. Możemy również wyczytać, że sam model wyjaśnia średnio około 53% zmienności, co jest wynikiem dostatecznym przy niedużej liczbie zmiennych i kolumn.
Predykcja
Posiadając już model, możemy użyć go do predykcji naszych danych bez ceny mieszkania, które stworzyliśmy dzieląc zestaw danych w stosunku 80:20. Łączymy model z narzędziem o nazwie Score Tool wraz z danymi i otrzymujemy wyniki w dodatkowej kolumnie:
Podsumowanie
Przeszliśmy zatem od opisu samych czynność w Data Science i możliwości Alteryx w tym zakresie, do samego przykładu regresji liniowej. To jednak tylko wierzchołek góry lodowej, możliwości Alteryx jest znacznie więcej, jednak możemy mieć pewność, że są one w odpowiedni sposób udokumentowane oraz intuicyjne.