Artykuły | 14 grudzień, 2022

Skuteczna eksploracja danych – metody i techniki data mining 

Szybki rozwój technologiczny w niemal każdej organizacji sprawił, że liczba danych, którymi operują, znacząco się powiększyła. Jeszcze na początku lat 90. firma Teradata chwaliła się utworzeniem pierwszego systemu dla Wal-Mart o pojemności 1 TB (1000 GB). Dzisiaj bazy i hurtownie danych popularnych serwisów internetowych, jak na przykład platforma YouTube, niewyobrażalnie przewyższają tę liczbę.

Skuteczna eksploracja danych – metody i techniki data mining 

Doszliśmy więc do takiego punktu w historii ludzkości, w którym dane przetwarzane przez dobrze prosperującą firmę stają się niemożliwe do przeanalizowania wyłącznie za pomocą tradycyjnych metod, czyli pracy ludzi i ich „mocy obliczeniowej”. Czasami także jakość danych utrudnia cały proces i potrzeba tutaj wsparcia, które odnaleźliśmy w komputerach. Dlatego właśnie metody eksploracji danych wykorzystują odpowiednie algorytmy – najważniejsze z nich opisuję w artykule.

Czym jest eksploracja danych (data mining)?

Data mining, inaczej eksploracja danych, to proces odkrywania reguł, zależności i wzorców w zebranych informacjach w celu uzyskania wiedzy. Jest to technologiczne połączenie tradycyjnych metod analizy (czyli relatywnie od dawna ludziom znanej statystyki) ze współcześnie stosowanymi algorytmami i rozwiązaniami szeroko rozumianej sztucznej inteligencji oraz sposobami na przetwarzanie dużych wolumenów danych przez jedną lub więcej jednostkę obliczeniową.

Proces eksploracji danych

data mining

„Every dataset, every database, every spreadsheet has a story to tell”

Stuart Frankel, CEO of Narrative Science

Data mining jest jednym z nieodłącznych elementów KDD (ang. Knowledge Discovery in Databases), czyli odkrywania wiedzy zebranej w bazach danych. Proces ten dzielimy na:

  1. Ustalenie celu analizy – zrozumienie problemu, zapoznanie się z danymi, potrzebami biznesowymi.
  2. Integrację danych – łączenie informacji różnego pochodzenia, niekiedy posiadających inną strukturę oraz różne modele danych.
  3. Przetwarzanie wstępne danych – pozbycie się błędów ludzkich, literówek, pustych wartości. Ujednolicenie typów danych dla poszczególnych informacji. Poszukiwanie i pozbycie się duplikatów. 
  4. Transformację danych – to dalsza część przetwarzania, jednak skupiona już na potrzebach późniejszej eksploracji. Polega na wyróżnieniu potencjalnie użytecznych kolumn, części danych, według ustalonego wcześniej celu. Chodzi o uproszczenie danych tak bardzo, jak to tylko możliwe.
  5. Rozróżnienie metod eksploracji oraz wybór odpowiedniego algorytmu – punkt ten rozwinięty został w dalszej części artykułu.
  6. Eksplorację danych – zgodnie z powyższą definicją: poszukiwanie reguł, zależności i wzorców.
  7. Interpretację i wizualizację – zrozumienie otrzymanych wyników i doprowadzenie ich do stanu czytelnego dla biznesu, utworzenie tabelek, spisanie wniosków, udokumentowanie procesu i uzasadnienie użytych środków.

Główne metody eksploracji danych

Obecnie w paradygmacie rozróżniamy dwie główne grupy metod eksploracji, z których wybieramy jedną na potrzeby naszej analizy. Są to:

  1. Metody predykcyjne (ang. predictive)
  2. Metody deskrypcyjne / opisowe (ang. descriptive)

Techniki eksploracji danych

W obrębie każdej z nich są skategoryzowane 3 techniki eksploracji danych – najpopularniejsze podejścia do eksploracji. Oczywiście dziedzina ta ciągle się rozwija, przybywa algorytmów, jak również podejść, zatem w tym artykule skupimy się właśnie na tych kluczowych. Poniżej postaram się wyjaśnić każdą grupę oraz metodę oraz podać przykładowe użycia w celu lepszego zrozumienia.

1. Metody predykcyjne – skupiają się na próbie przewidzenia wyniku na podstawie wartości innych danych wejściowych. Wyniki tych metod nazywane są z języka angielskiego targetem lub wartościami zależnymi, natomiast atrybuty wykorzystane do ich uzyskania wartościami niezależnymi bądź wyjaśniającymi (ang. explanatory). Do tych metod zaliczamy: 

  • Technikę klasyfikacji (ang. classification) – działa na podstawie algorytmów skupiających się, jak sama nazwa wskazuje, na klasyfikacji obiektów danych. Jest wykorzystywana, gdy nasza wartość zależna ma charakter dyskretny (skategoryzowany). Zastosowanie znalazła np. w diagnostyce chorób u pacjentów na podstawie wcześniejszych klasyfikacji schorzeń.

Przykładowe algorytmy modelujące: naiwny klasyfikator Bayesowski, regresja logistyczna, K-najbliższych sąsiadów, drzewa decyzyjne, maszyna wektorów nośnych (ang. „Support Vector Machine”).

  • Technikę predykcji (ang. prediction) – przewiduje najbardziej prawdopodobne wartości dla otrzymanych danych. Modele utworzone w tej technice można sobie wyobrazić jako funkcje ciągłe, dopasowane pod kątem otrzymanych informacji wejściowych. Dla przykładu może być wykorzystana do badań rynkowych zarobków pracowników danych sektorów, gdzie na podstawie edukacji, lat doświadczenia, pochodzenia i innych demograficznych warunków można by oszacować średnie wynagrodzenie, zależne od wyżej wspomnianych czynników.

Przykładowe algorytmy modelujące: regresja liniowa, regresja grzbietowa, aproksymacja wielomianowa

  • Analizę szeregów czasowych (ang. Time-Series Analysis) – jest to technika opracowująca wyniki na podstawie analizy danych zmieniających się w czasie. Jeżeli krok (zmiana czasu względem danych) jest nieregularny, wtedy nazywamy tę technikę analizą szeregu czasowego rozmytego.

Przykładowe algorytmy modelujące: autoregresja (ang. Autoregressive Integrated Moving Average, ARIMA), ruchoma średnia, wygładzanie wykładnicze.   

2. Metody deskrypcyjne – próbują wyciągnąć z otrzymanych wartości wejściowych wzorce (korelacje, tendencje danych, klastry, anomalie itp.), które są w stanie opisać relacje między otrzymanymi danymi. Metody te mają za zadanie scharakteryzować, dość ogólnie, właściwości danych wejściowych (odkryć wzorce, powiązania, odpowiednio zgrupować dane i wykryć charakterystyczne anomalie), jednak do wyciągnięcia konkretnych wniosków potrzebują dodatkowej pracy nad odpowiednim przygotowaniem i zwizualizowaniem danych. Techniki to:  

  • Odkrywanie asocjacji – technika odkrywania wzorców, które opisują silnie powiązane cechy między elementami ze zbiorów danych. Przykładem może być odnajdywanie grup genów, które mają podobne właściwości, bądź analiza koszyka kupionych przez klienta produktów w celu planowania rozłożenia produktów (np. tak, żeby klient kupujący pieczywo, idąc do kasy, przeszedł obok masła).

Przykładowe algorytmy: algorytm Apriori, algorytm Eclat

  • Technika grupowania (ang. clustering) – tworzy skończoną ilość zbiorów, kategorii, które powstają na podstawie danych i ich podobnych cech. Liczba takich kategorii wynika z podobieństwa danych. Może być wykorzystywana np. w sportach zespołowych w celu sprawdzenia podobieństw między graczami z danej drużyny, dzięki czemu można mieć podstawę do utworzenia nowych taktyk na kolejne spotkanie.

Przykładowe algorytmy: algorytm centroidów (ang. K-means clustering), algorytm BIRCH (ang. Balanced Iterative Reducing and Clustering Using Hierarchies)

  • Wykrywanie zmian i odchyleń – technika poszukająca fragmentów zbioru danych różniących się znacznie od pozostałej części. Takim fragmentom przypisuje się nazwę anomalii bądź odchyleń (ang. outliers). Techniki te cechują się wysokim wskaźnikiem detekcji i niskim wskaźnikiem fałszywych wyników. Wykorzystywane są przykładowo w AML (ang. Anti Money Laundring) oraz przy monitorowaniu zmian w ekosystemie.

    Przykładowe algorytmy: ponownie algorytm K-najbliższych sąsiadów, sieci Bayesowskie, ukryte modele Markova (HMM).

Jaki model wybrać i jak skutecznie eksplorować dane?

Oczywiście odpowiedź na to pytanie brzmi: „to zależy”. 

Data mining jest zaledwie częścią całego łańcucha KDD, a widzimy po wcześniejszym punkcie artykułu, jak obszerny jest to temat. Wpływ na nasze decyzje będzie miało wszystko to, co wydarzyło się z danymi po drodze. Jednak są pewne schematy, których można się trzymać. Jeżeli wiemy, że nasze wyniki mają być dyskretne – zastosujemy klasyfikatory; jeżeli mają być wynikami liczbowymi, różnymi – wykorzystamy techniki predykcji regresyjne. Natomiast jeżeli nie mamy oczekiwań bądź są one ogólne w stosunku do naszych danych i chcemy się na ich podstawie czegoś nauczyć, to wykorzystamy techniki deskrypcyjne. 

Przeczytaj także: Data storytelling. Jak opowiadać historię za pomocą danych?

Algorytm dla wybranego modelu

Ustaliliśmy, jakiej metody / techniki użyjemy – teraz przed nami pytanie o algorytm, który stworzy z naszych danych model. No cóż, tutaj nie ma jednoznacznej odpowiedzi. Osobiście spotkałem się z podejściem, aby wybrać te algorytmy, które się najlepiej rozumie lub co do których wiemy, że najlepiej „zrozumieją” nasze dane – i porównać je. Jeżeli jednak możliwości wypróbowania kilku rozwiązań nie ma, warunki produkcji na to nie pozwalają bądź są inne ograniczenia – rozstrzygnie doświadczenie developera bądź zespołu, który wdraża te rozwiązania.  

Eksploracja danych to potężne narzędzie firm data driven

Eksploracja danych to ogromny obszar wpisujący się w ważny obecnie trend budowania organizacji data driven, a o każdym ze wspomnianych algorytmów mógłby powstać osobny materiał. Przedsiębiorstwa, które chcą być napędzane przez dane, inwestują w technologie takie jak Microsoft Power BI, Tableau czy Qlik Sense. Służą one do wizualizacji wniosków otrzymanych przez opisane przeze mnie metody w zrozumiałej dla każdego formie. Takie rozwiązania pomagają znaleźć trendy i ukryte zależności pomiędzy danymi z różnych źródeł, wydobywać potencjał dużych zbiorów danych i podejmować trafne decyzje. Wiele przedsiębiorstw wykorzystuje je nie tylko do analizy danych historycznych, ale też prognozowania, tak aby np. zwiększać sprzedaż.

Zawodowo oczarowany wszystkim, co związane z danymi. Obszarem, w którym stopniowo zdobywa doświadczenie w coraz nowocześniejszych technologiach. W życiu prywatnym jest wielkim fanem filmów, który praktycznie co tydzień chodzi do kina. Interesuje się również koszykówką, grami komputerowymi i sztuką kulinarną, a podczas odkrywania świata, zawsze chce wiedzieć, co dzieje się za kulisami.

Zapisz się do newslettera, ekskluzywna zawartość czeka

Bądź na bieżąco z najnowszymi artykułami i wydarzeniami IT

Informacje dotyczące przetwarzania danych osobowych

Zapisz się do newslettera, ekskluzywna zawartość czeka

Bądź na bieżąco z najnowszymi artykułami i wydarzeniami IT

Informacje dotyczące przetwarzania danych osobowych

Zapisz się do newslettera, aby pobrać plik

Bądź na bieżąco z najnowszymi artykułami i wydarzeniami IT

Informacje dotyczące przetwarzania danych osobowych

Dziękujemy za zapis na newsletter — został ostatni krok do aktywacji

Potwierdź poprawność adresu e-mail klikając link wiadomości, która została do Ciebie wysłana w tej chwili.

 

Jeśli w czasie do 5 minut w Twojej skrzynce odbiorczej nie będzie wiadomości to sprawdź również folder *spam*.

Twój adres e-mail znajduje się już na liście odbiorców newslettera

Wystąpił nieoczekiwany błąd

Spróbuj ponownie za chwilę.

    Get notified about new articles

    Be a part of something more than just newsletter

    I hereby agree that Inetum Polska Sp. z o.o. shall process my personal data (hereinafter ‘personal data’), such as: my full name, e-mail address, telephone number and Skype ID/name for commercial purposes.

    I hereby agree that Inetum Polska Sp. z o.o. shall process my personal data (hereinafter ‘personal data’), such as: my full name, e-mail address and telephone number for marketing purposes.

    Read more

    Just one click away!

    We've sent you an email containing a confirmation link. Please open your inbox and finalize your subscription there to receive your e-book copy.

    Note: If you don't see that email in your inbox shortly, check your spam folder.