left site banner
 
menu open menu spacer image Firma menu spacer image Oferta menu spacer image Projekty menu spacer image Media menu spacer image Kontakt menu spacer image menu close
main site banner

Nasi Klienci













Data mining w praktyce - Wprowadzenie w tematykę

Mikołaj Janicki
Dominik Ślęzak

Czym jest KDD?

KDD to skrót pochodzący od terminu "Knowledge Discovery in Databases" - dziedziny informatyki zajmującej się rozwijaniem algorytmicznych narzędzi służących do odkrywania wiedzy z danych. Motywację dla rozpatrywania tego typu narzędzi stanowi ciągły wzrost technicznych możliwości gromadzenia i analizy danych, w których ukryte są potencjalnie cenne informacje dopełniające wiedzę ludzką. W wielu sytuacjach, stosowanie procesu KDD jest wręcz koniecznością, wynikającą chociażby z dramatycznie szybkiego przyrostu danych.

Zastosowania KDD zdobywają sobie uznanie szczególnie w stosunkowo nowych dziedzinach, gdzie tak zwana wiedza ekspercka jest jeszcze w dużej mierze niepełna i nieugruntowana. Do dziedzin takich można przykładowo zaliczyć:

Warto przy tym zauważyć, że natura powyższych zastosowań wymaga operacji na bardzo dużych danych, o różnorodnej nieraz strukturze. Uniemożliwia to zazwyczaj wykorzystanie tych konwencjonalnych metod analizy danych, które nie działają wystarczająco efektywnie w przypadku dużych baz danych o niejednolitym formacie.

Opis procesu KDD

Narzędzia KDD rozwijają się bardzo dynamicznie, choć - jak to często bywa w przypadku nowo powstałych dziedzin informatyki - nie wszyscy rozumieją pod tym hasłem dokładnie to samo. Poniżej przedstawiamy możliwie pełny opis przebiegu procesu odkrywania wiedzy z danych:

Zrozumienie dziedziny problemu

Złożoność natury danych, a także problemów stawianych przy okazji ich analizy, coraz częściej nie pozwala na natychmiastowe sformułowanie pytań, na które użytkownik chce uzyskać odpowiedź. Na przykład analizując dane o zachowaniu internautów w sieci należy ustalić, jakimi informacjami dysponujemy oraz czego chcielibyśmy się o nich dowiedzieć. Często ostateczny cel tego typu analizy krystalizuje się dopiero podczas pracy z danymi. Jego określenie dokonuje się zatem w trakcie interaktywnego procesu, w którym mamy stałą możliwość uwzględniania wiedzy oraz preferencji użytkownika.

Budowa roboczego zbioru danych

Koncentrując się choćby na przykładzie danych internetowych zauważmy, że mogą być one gromadzone na bieżąco w postaci opisów tak zwanych sesji odbytych przez poszczególnych internautów. Dziedzina problemu może przy tym wymagać włączenia do analizy informacji o samych internautach (które nie zawsze są w pełni dostępne), a także o odwiedzanych przez nich stronach. W przypadku działalności e-marketingowej, mogą jeszcze dojść dane o wynikach kampanii reklamowych, itd. Dobór źródeł danych zależy oczywiście od pytań, które użytkownik formułuje. Widać przy tym, że różnorodność zasobów informacji nie zawsze pozwala na natychmiastową specyfikację odpowiednich jej źródeł.

Oczyszczenie i przygotowanie danych

Na omawianym przykładzie widać, że wszelka dalsza analiza musi być poprzedzona selekcją tych danych, które wydają się w ustalonym rozumieniu adekwatne. Wybrane źródła muszą być zapisane w postaci w miarę zunifikowanego formatu, umożliwiającego pracę algorytmom przeszukującym dane pod kątem wykrywania interesujących zależności czy regularności.

Przekształcanie i redukcja danych

Nawet na etapie selekcji i przygotowania danych do dalszej analizy nie jesteśmy w stanie ostatecznie wyszczególnić tych składowych ich opisu, które okażą się najbardziej przydatne w rozwiązaniu postawionego uprzednio problemu. Warto też pamiętać, że - przykładowo - informacje o każdym internaucie można zapisywać za pomocą bardzo wielu różnych cech, z których nie wszystkie okażą się być przydatne dla użytkownika, jako zapis wiedzy stosowalnej w praktyce.

Eksploracja danych (data mining)

W ten sposób dochodzimy do danych zapisanych, w miarę możliwości, w formie tablicy, której wiersze odpowiadają obiektom (pacjentom, internautom, łańcuchom DNA, zapisom dźwiękowym), zaś kolumny - opisującym je cechom. Eksploracja danych to algorytmiczne wykrywanie zależności pomiędzy wartościami tych cech, które może być realizowane przy użyciu bardzo różnorodnych technik, opartych na statystyce, sztucznej inteligencji, czy też odwołujących się do metod uczenia maszynowego. Rozpatrzmy dwa przykłady:

Interpretacja znalezionych zależności - koniec czy początek procesu?

W zasadzie jest to już etap, w którym główną rolę przejmuje sam klient, który po dodatkowych konsultacjach ze sztabem analityków decyduje o przydatności otrzymanych wyników do realizacji zakładanych na samym początku celów. Często okazuje się jednak, że nie jest to wcale koniec projektu. Ewentualne sugestie, czy krytyczne uwagi osób zlecających analizę mogą bowiem prowadzić do konieczności powtórzenia nawet całego opisanego procesu KDD, po uwzględnieniu odpowiednich modyfikacji. Warto przy tym podkreślić, iż zjawiska tego nie należy odbierać negatywnie. Złożoność współczesnych zadań analitycznych, a także różnorodność danych, których eksploracja wydaje się rokować nadzieje na ich realizację, przekracza po prostu możliwości ludzkiej percepcji.

Data Warehousing + OLAP = KDD?

Można zauważyć, że przynajmniej część opisanych etapów odkrywania wiedzy z danych przypomina w swoim sformułowaniu zadania kryjące się pod takimi terminami jak Data Warehousing, czy OLAP. Faktycznie, są to pojęcia odpowiadające technikom obróbki danych, niezbędnym do realizacji procesu KDD. Błędem jest jednak przekonanie, że narzędzia kryjące się pod tymi nazwami pozwalają na wydobycie z dostępnych zasobów wszystkich informacji mogących zainteresować użytkownika.

Data Warehousing

Jest to określenie na proces tworzenia tak zwanych hurtowni danych - zbiorów danych historycznych, projektowanych celem archiwizacji w ustandaryzowanej oraz odpowiednio oczyszczonej formie oryginalnych danych, gromadzonych w postaci wielu powiązanych ze sobą, rozproszonych geograficznie, baz.

Proces ten jest kosztowny i skomplikowany ze względu na różnice w formacie danych, gromadzonych często w autonomicznych systemach komputerowych, w ciągu wielu lat. Z drugiej strony, korzystanie z hurtowni znacznie upraszcza dalszą analizę. W szczególności, pierwsze etapy procesu KDD stają się znacznie łatwiejsze w momencie, gdy oczyszczenie i przygotowanie danych można oprzeć na istniejącej już hurtowni. Jednakże bardzo często okazuje się, że postawione zadanie wymaga jej modyfikacji, poprzez dołączenie nowych zasobów danych.

W istocie, jednym z zastosowań KDD jest wspieranie perspektywicznego projektowania hurtowni danych, polegające na wychwytywaniu tych elementów oryginalnych danych, które wystarczą za podstawę przeprowadzania w przyszłości wszelkich prac analitycznych, w obrębie danej instytucji.

OLAP (On-line Analytical Processing)

Hurtownia danych stanowi podstawę aktywnego i efektywnego korzystania z dostępnych zasobów celem wyciągania interesujących z analitycznego punktu widzenia informacji. Oczywiście wciąż możliwa jest dalsza optymalizacja postaci, w jakiej informacja ta będzie osiągalna z zewnątrz. Przez OLAP rozumie się technologię pozwalającą na stworzenie wygodnego i przejrzystego interfejsu informacyjnego pośredniczącego w pracy z hurtownią danych. Przykładowo, załóżmy, że dla analityków danej firmy niezbędne jest szybkie testowanie prostych hipotez typu "co by było, gdyby", np.

Jak zachowa się sprzedaż benzyny jeżeli zwiększając jej cenę o 0.5 procent zmniejszymy
dwukrotnie liczbę punktów lojalnościowych potrzebnych do wygrania odkurzacza?


Załóżmy ponadto, że w istniejącej hurtowni znajdują się dane dotyczące sprzedaży benzyny oraz cen poszczególnych stacjach, a także historii korzystania klientów ze swoich kart lojalnościowych. Zauważmy, że wydobycie odpowiedzi na powyższe pytanie z takich danych nie jest rzeczą łatwą, chyba że stworzymy strukturę przechowującą statystyczne informacje o zależnościach pomiędzy interesującymi nas czynnikami w czasie.

Oczywiście odpowiednie zaprojektowanie takiej struktury - tak zwanego OLAP-serwera -jest bardzo trudne i pracochłonne. Co więcej, zdefiniowanie parametrów OLAP-serwera wymaga wiedzy, która nie zawsze jest wystarczająco pełna (trudno jest przecież uwzględnić wszystkie potrzeby analityków dużego przedsiębiorstwa i wymyślić od ręki ich reprezentację w formie cech niezbędnych do przechowywania).

Z punktu widzenia KDD, istniejący OLAP-serwer może znacznie przyspieszyć eksplorację danych. Informacje dotyczące bezpośrednio wartości istotnych dla użytkownika, pozwalają bowiem skoncentrować się na samym procesie wydobywania regularności, w języku opisanych już przez OLAP cech. Jednakże samo nałożenie na dane takiej nowej struktury nie jest równoznaczne z otrzymaniem nowej jakościowo wiedzy. Użytkownik wciąż nie będzie miał możliwości uzyskania odpowiedzi na pytania typu, na przykład:

Co, kiedy i dlaczego należy zrobić, aby zachować możliwie jak największą
sprzedaż benzyny w perspektywie zwiększenia jej ceny o 0.5 procent?

Eksploracja danych - istota procesu KDD

Eksploracja danych (data mining) rozumiana jest jako proces wykrywania w danych interesujących dla użytkownika "regularności". To właśnie one niosą w sobie informacje o tym, które cechy są tak naprawdę istotne i powinny służyć do budowania np. OLAP-serwera. Otrzymana w ich formie wiedza jest czymś istotnie nowym. Stanowi klucz do oceny jakości całego procesu KDD. Może też być źródłem sugestii dotyczących modyfikacji etapów poprzednich.

Problem leży w tym, że takich regularności jest w danych praktycznie "nieskończenie wiele", zaś dla użytkownika interesujące będą tylko niektóre z nich i to w różnyn stopniu. Nie można też idealnie zdefiniować, co kryje się pod określeniem "interesujące". Dobre regularności mogą być uważane za:

W istocie, tylko wieloletnie doświadczenie w dziedzinie KDD, związane z różnorodnymi zastosowaniami praktycznymi pozwalają na umiejętne przełożenie oczekiwań klienta na język algorytmicznych technik eksploracji danych - i w rezultacie, na wynik końcowy.

 
 
spacer image