Eksploracja danych Jacek Rumiński slajd 1 Kontakt: Katedra Inżynierii Biomedycznej, pk. 106, tel.: 3472678, fax: 3461757, e-mail: jwr@eti.pg.gda.pl
Źródła, Internet, SQL/MM i inne standardy (dodatkowy zestaw slajdów) slajd 2
Problem potop danych Ilość generowanych i gromadzonych danych rośnie lawinowo (rozwój zarówno narzędzi wspomagających wytworzenie danych cyfrowych jak i technologii składowania danych) Tworzone zasoby (np. serwisy WWW) dostarczają licznych danych problemem jest jednak odkrycie wiedzy w nich ukrytych Możliwe rozwiązania: - hurtownie danych i OLAP, - odkrywanie wiedzy (reguł, klas, wzorców, regularności, ograniczeń, itp.) KDD Knowledge Discovery in Databases slajd 3
Eksploracja danych (Data mining) Eksploracja danych : Uzyskanie nietrywialnych, ukrytych, poprzednio nieznanych a potencjalnie użytecznych informacji lub reguł na podstawie dużych kolekcji danych. Eksploracją danych nie jest: Pozyskiwanie danych na podstawie przygotowanych (wzorców a priori) wyrażeń SQL, Pozyskiwanie danych z wykorzystaniem systemów eksperckich. Spotykane alternatywne lub zbliżone określenia dla eksploracji danych: data mining, Knowledge discovery(mining) in databases (KDD), knowledge extraction, data/pattern analysis, data archeology, data dredging, information harvesting, business intelligence, etc. slajd 4
Zastosowania eksploracji danych Eksploracja danych stosowania jest głównie jako metodologia inteligentnego wspomagania podejmowania decyzji oraz formułowania wiedzy np.: klasyfikacja klientów firmy, klasyfikacja użytkowników serwisów WWW, formułowanie tez wiedzy ogólnej dotyczących np. istnienia nowych ciał niebieskich lub okoliczności występowania danej zmiany chorobowej, prognozowanie popytu i podaży, identyfikacja potrzeb klientów / użytkowników, wykrywanie zagrożeń i defraudacji (np. środków budżetowych), itd. slajd 5
Proces odkrywania wiedzy - diagram Eksploracja danych Podzbiór danych realizowanego zadania Reguły Przetwarzanie reguł Hurtownia Selekcja danych Czyszczenie danych Integracja danych slajd 6 Bazy danych
Insightful Miner slajd 7
SAS Enterprise Miner slajd 8
Proces odkrywania wiedzy - kroki Definicja celów oraz zakresu analiz, Selekcja danych z dostępnych źródeł (bazy dane, hurtownie) dla potrzeb utworzenia podzbioru danych związanego z określonym celem analiz, Czyszczenie danych i przetwarzanie wstępne (często niezwykle złożone), Redukcja i transformacja danych (pozostawienie tego co istotne we właściwej formie), Wybór i zastosowanie określonych metod i algorytmów eksploracji danych (np. klasyfikacji danych, określenie trendów, itd..) Przetwarzanie (np. usuwanie klas nieistotnych) i prezentacja odkrytych reguł, wzorców i informacji, Formułowanie i zastosowanie wiedzy (zdań szczegółowych ogólnych). slajd 9
EKSPLORACJA DANYCH - PLAN PRZETWARZANIE WSTEPNE - CZYSZCZENIE DANYCH, REDUKCJE, TRANSFORMACJE METODY (TECHNIKI EKSPLORACJI WIEDZY): A. Charakterystyki B. Reguły asocjacyjne C. Klasyfikacja D. Segmentacja E. Inne ZASTOSOWANIA slajd 10
Proces odkrywania wiedzy a BI Buisness Intelligence Wskaźnik zastosowania technologii w podejmowaniu decyzji Podjęcie decyzji Użytkownik końcowy Prezentacja danych Techniki wizualizacji Eksploracja danych Analityk (rynku, bankowy...) Analityk danych Analiza danych slajd 11 Hurtownie OLAP, MDA Źródła danych Dokumentacja papierowa, pliki, serwisy, OLTP, inne DBA
Eksploracja danych metodologia Charakterystki i uogólnienia Generalizacja, podsumowania, charakterystyka różnicowa, np. zdrowe i chore obszary tkanki, Określenie asocjacji (correlation and causality) Wielowymiarowe a jednowymiarowe asocjacje, wiek(x, 20..29 ) ^ dochód(x, 2K..4K ) ^ kupuje(x, PC ) [support = 2%, confidence = 60%] zawiera(t, PC ) ^ zawiera(x, oprogramowanie ) [1%, 75%] slajd 12
slajd 13 Eksploracja danych metodologia Klasyfikacja i predykcja Znane wzorce/etykiety klas, Poszukiwanie są funkcje (modele, klasyfikatory) opisujące i rozdzielające poszczególne klasy dla potrzeb przyszłych analiz i predykcji (przewidzenia nieznanych lub brakujących wartości), Definiowane są przestrzenie cech, mierzone (wybierane) są wartości opisujące te cechy deskryptory, Przykłady: klasyfikacja studentów na podstawie ich ocen, klasyfikacja klientów na podstawie ich dochodów i rozchodów, Prezentacje: Reguły klasyfikacji, drzewa decyzyjne, sieci neuronowe, itd. Segmentacja/wydzielanie klastrów Nieznane wzorce/etykiety klas grupowanie danych w nowe klasy, identyfikacja klas, Analiza statystyczna danych minimalizacja wariancji rozkładu danych w obrębie klastra (klasy), Określenie minimalnej odległości (maksymalnego podobieństwa) zbioru deskryptorów danego elementu (obiektu) do średniego zbioru deskryptorów klastra.
Eksploracja danych metodologia Analiza ekstremów (odstępstw) Ektremum (odstępstwo, wyjątek): obiekt danych niezgodny z ogólną regułą danego zestawu, Wykorzystywana w detekcji błędów, defraudacji, niewłaściwych metod, itd. Analiza trendów Regresja, Identyfikacja parametrów modeli, Analiza okresowości danych, Analiza podobieństw danych, Inne slajd 14
Eksploracja danych przetwarzanie reguł Eksploracja danych może wygenerować tysiące reguł/wzorców, spośród których, tylko nieliczne są ważne dla danego celu i zakresu analiz. Dana reguła/wzorzec jest interesująca/ważna jeśli jest łatwo zrozumiała przez człowieka, powtarzalna dla nowych/testowych danych, jest potencjalnie użyteczna i nowa, a zarazem potwierdza hipotezy postawione przez użytkonika przed eksploracją danych - OPTYMALIZACJA Miary oceny reguł: Obiektywne: konstruowane na podstawie struktury i statystyki reguł, np. support, confidence, i inne. Subiektywne: konstruowane na podstawie oceny użytkownika (ekspert), np. unexpectedness, novelty, actionability, inne. slajd 15
Wstępne przetwarzanie danych - potrzeby Gromadzone dane są często - niekompletne: brakujące wartości atrybutów, brak istotnych dla analiz atrybutów, brak danych szczegółowych, -posiadają błędy lub wartości nieoczekiwane (odstępstwa), - niejednorodne: stosowanie różnych reguł dla składowania tych samych atrybutów, stosowanie różnych miar (jednostek), itd. Cel eksploracji danych wiedza zależy od jakości danych źródłowych. Złe dane - Nieprawdziwa wiedza błędne decyzje!!! slajd 16
Wstępne przetwarzanie danych - zadania Czyszczenie danych (Data cleaning) Uzupełnienie wartości brakujących, usuwanie szumu i błędów danych, identyfikacja i eliminacja odstępstw, usuwanie niejednorodności Integracja danych (Data integration) Integracja wielu baz danych, tabel, kolekcji, plików, kostek danych, itd. Transformacja danych (Data transformation) Normalizacja danych, agregacja Redukcja danych (Data reduction) Usuwanie redundancji, eliminacja danych nie wpływających na uzyskanie poprawnego wyniku Dyskretyzacja/kwantyzacja danych (Data discretization) Szczególna postać redukcji danych numerycznych slajd 17
Wstępne przetwarzanie danych - zadania slajd 18
Ignorowanie krotek, obiektów, wierszy,.., z atrybutami/polami o brakujących wartościach; operacja trudna gdy liczba takich elementów jest duża utrata danych; Ręczne uzupełnienie danych nudne, pracochłonne, często wręcz nierealne; Automatyczne uzupełnienie atrybutów/pól pustych wartościami domyślnymi, DC -> > Brakujące dane Automatyczne uzupełnienie atrybutów/pól pustych wartościami średnimi dla danego sąsiedztwa, klasy, itp.; Automatyczne uzupełnienie atrybutów/pól pustych wartościami najbardziej prawdopodobnymi zastosowanie reguły Bayesa lub drzew decyzyjnych. slajd 19
DC -> > Szumy, błędy i ekstrema Metody progowania/grupowania danych: 1. Sortowanie danych, podział na równe liczebnie grupy, 2. Wygładzenie wartości poprzez uśrednienie wartości w obrębie grupy, wyznaczenie mediany grupy, wygładzenie przez ekstrema grupy, itp. Metody segmentacji / wydzielania klastrów Detekcja i usunięcie ekstremów (odstępstw). Metody półautomatyczne Automatyczna detekcja błędu/ektremum; ręczna korekta wartości. Metody wyznaczania trendu - regresja Wygładzenie poprzez zastosowanie wyznaczonej funkcji opisującej rozkład wartości. slajd 20
DC -> > Szumy, błędy i ekstrema -> > wygładzanie 1. Posortowanie danych (np. cena towaru w PLN) 4, 8, 9, 15, 21, 21, 24, 25, 26, 28, 29, 34 Podział na równe grupy: - G1: 4, 8, 9, 15 - G2: 21, 21, 24, 25 - G3: 26, 28, 29, 34 2. Wygładzenie przez średnią: - G1: 9, 9, 9, 9 - G2: 23, 23, 23, 23 - G3: 29, 29, 29, 29 2. Wygładzenie przez ekstrema: - G1: 4, 4, 4, 15 - G2: 21, 21, 25, 25 - G3: 26, 26, 26, 34 slajd 21
DC -> > Szumy, błędy i ekstrema -> klastry K1 K2 µ2 µ1 µ3 K3 rozrzut/odstępstwa/ekstrema slajd 22
DC -> > Szumy, błędy i ekstrema -> > regresja y Y1 Y1 y = x + 1 X1 x slajd 23
Integracja danych - problemy Integracja danych: Dane z różnych źródeł integrowane są w jeden spójny zasób, Integracja schematów: Integracja metadanych pochodzących z różnych źródeł, Identyfikacja znaczenia atrybutów (pól) np., A.cust-id B.cust- # Wykrywanie i eliminacja konfliktów Ten sam obiekt opisywany jest przez różne wartości atrybutów pochodzących z różnych zestawów danych, np. problem stosowanych miar i jednostek (odległość w km czy w milach?). slajd 24
Integracja danych redundancja danych Redundancja pojawia się przy integracji danych z wielu źródeł charakteryzujących się odmiennymi schematami: Różne nazwy dla tych samych atrybutów, Atrybuty wywiedzione z atrybutów innych relacji, obiektów, kolekcji (np. suma). Klasyczne formy eliminacji redundancji wykorzystują metody korelacyjne Eliminacja redundancji w sposób istotny wpływa na szybkość działania stosowanych metod eksploracji danych. slajd 25
Transformacja danych Eliminacja szumu, uśrednienie, wygładzenie, Agregacje, Generalizacje: concept hierarchy climbing Normalizacje / skalowanie: Skalowanie liniowe min-max, Normalizacja z-score, Skalowanie przez stałą. Konstrukcja nowych atrybutów slajd 26
Transformacja danych - normalizacja Skalowanie min-max v = v min maxa min A ' ( _ A _ A) + Normalizacja z-score A new max v v' = µ A δ A new min new_ min A slajd 27 Normalizacja przez stałą µ A v ' = v K np., v'= v 10 Gdzie: - wartość średnia A, δ A - odchylenie standardowe A, K stała, j najmniejsza liczba całkowita, taka że Max( v )<1 j
Transformacja danych nowe atrybuty slajd 28
Redukcja danych - problemy Hurtownie danych mogą zawierać terabajty wielowymiarowych danych; ich eksploracja może trwać zbyt długo dla potrzeb danego procesu decyzyjnego. Redukcja danych Cel: Generacja mniejszego zbioru danych niż oryginalny dającego te same lub bardzo podobne rezultatu w procesie eksploracji danych Techniki redukcji danych Agregacja Data cube (poziomy agregacji kostki, wymiary kostki) Redukcja wymiaru danych Zmiana reprezentacji danych Dyskretyzacja / generacja hierarchii slajd 29
Redukcja danych redukcja wymiaru danych Selekcja cech : Selekcja minimalnego zestawu cech, dla których rozkład prawdopodobieństwa danych klas jest najbardziej podobny do analogicznego rozkładu przy zastosowaniu wszytskich cech, Redukcja liczby wzroców w metodach dopasowania wzorca (pattern matching). Metody heurystyczne: Selekcja krokowa (najlepsza cecha pozostaje), Krokowa eliminacja wsteczna (najgorsza cecha jest eliminowana), Metody łączone, Drzewa decyzyjne. slajd 30
Redukcja danych drzewo decyzyjne (indukcja) Początkowy zbiór atrybutów: {A1, A2, A3, A4, A5, A6} A4? A1? A6? Klasa 1 Klasa 2 Klasa 1 Klasa 2 > Końcowy zbiór atrybutów: {A1, A4, A6} slajd 31
Redukcja danych kompresja danych Kompresja stratna odtwarzane po kompresji dane stanowią aproksymację danych oryginalnych. W procesie kompresji pozostają elementy najczęściej występujące lub najbardziej istotne ze względu na zadany parametr (np. jakość obrazu). Znane algorytmy kompresji stosujące transformację kosinusów lub falkową wykorzystują dedykowane metody kwantyzacji współczynników transformat. Kompresja bezstratna odtwarzane dane to dane oryginalne Dane oryginalne Przybliżenie danych oryginalnych bezstratna stratna Dane po kompresji slajd 32
Redukcja danych PCA Principal Component Analysis Mając N wektorów danych z k-wymiarowej przestrzeni, znaleźć takie c (c<=k) wektorów ortogonalnych, które dobrze (tzn. z dopuszczalnym błędem) reprezentują dane Każdy wektor danych jest liniową kombinacją c wektorów komponentów głównych Transformacja ta stosowana jest dla danych liczbowych Y2 X2 Y1 X1 slajd 33
Redukcja danych metody parametryczne Przyjmowany jest model rozkładu wartości atrybutu, np. liniowy, wykładniczy, Parametry modelu są dopasowywane tak, aby odpowiadały danym rzeczywistym, Składowany jest zatem identyfikator typu modelu oraz jego parametry, Przykłady: Regresja liniowa: Y = a X+ b Dwa parametry a i b wytyczają linię prostą. Zatem dla każdego X znane jest Y. Dopasowanie metoda najmniejszych kwadratów z zastosowaniem znanych zestawów danych Y1, Y2,, X1, X2,. Regresja odcinkami liniowa: Y = b0 + b1 X1 + b2 X2. Funkcje nieliniowe: Y=a0 exp(-b0 t)+a1 exp(-b1 t) itd. PRZYKŁADY y y = x + 1 x slajd 34
Redukcja danych metody nieparametryczne Nie zakładają modeli, Najczęściej stosowane techniki to: progowanie histogramu, wydzielanie klastrów, próbkowanie HISTOGRAM Grupopowanie elementów histogramu w paczki (granice wyznaczane przez wartości progowe: dolną i górną). Nowa wartość zgrupowanego elementu histogramu to wartość średnia składowych. slajd 35
Redukcja danych metody nieparametryczne KLASTRY Klastry stanowią grupy danych w przestrzeni cech. Metody wyznaczania klastrów stanowią jedną z najbardziej popularnych technik stosowanych w eksploracji danych (opis dalej). Każdy klaster może być reprezentowany przez liczbę parametrów (np. wartość średnia), znacznie mniejszą niż liczba jego składowych. Możliwe jest zbudowanie hierarchii klastrów, dzięki czemu możliwe są różne systemy indeksowania. K2 K1 µ2 slajd 36 µ1 µ3 K3
Redukcja danych metody nieparametryczne PRÓBKOWANIE Próbkowanie dziedziny danych w celu wygenerowania reprezentacji danych. Problem doboru metody próbkowania losowo, zgodnie z modelem, np. Co drugi element? Optymalny schemat próbkowania. slajd 37 Dane oryginalne Dane po redukcji
Redukcja danych dyskretyzacja i kategoryzacja Dyskretyzacja zmniejszenie liczby danych poprzez podział ciągłego zakresu wartości danego atrybutu na skończoną liczbę przedziałów. Każdy przedział może być reprezentowany przez etykiety składowane jako reprezentacja wartości danych. Kategoryzacja zmniejszenie liczby danych przez kategoryzację typu danych argumentu, tj. przejście od wartości bezwzględnej (np. 23 lata) do etykiety zakresu wartości (np. młody ). Kateogryzacja i związny z nią typ danych (categorical) stanowią podstawową operację przygotowania danych dla potrzeb klasyfikacji danych w DM. Stosowane techniki dyskretyzacji i kategoryzacji, to oprócz wymienionych wcześniej, te stosujące progowanie i segmentację danych. slajd 38
Redukcja danych dyskretyzacja i kategoryzacja DYSKRETYZACJA PRZEZ MINIMALIZACJĘ ENTROPII Dzieląc zbiór danych D na dwie klasy D1 i D2 zgodnie z obraną wartością progową T, to entropia podziału dana jest wzorem: L( D1) L( D2) H ( D, T ) = H ( D1) + H ( D2) L( D) L( D) Gdzie: H(.) entropia, L(a) liczba elementów a; Dla danej funkcji gęstości prawdopodobieństwa (estymacja przez histogram) p(g) (g=0...k-1), entropię można obliczyć jako: H = K 1 g= 0 p( g) ln( p( g)) T, dla którego H(D,T) jest minimalne jest wybierane jako optymlny prób podziału (binaryzacja). Proces może przebiegać rekurencyjnie aż do spełnienia zadanego kryterium, np. H ( D) H ( D, T ) > ε slajd 39
-Metoda modeli Redukcja danych dyskretyzacja i kategoryzacja INNE METODY PROGOWANIA -Metoda Otsu slajd 40 -inne
Proces eksploracji danych -Podstawowe zagadnienia -Definicja zadania slajd 41
Proces eksploracji danych - podstawowe zagadnienia -Proces eksploracji danych zakłada wyszukiwanie pewnych ukrytych i nieznanych wzorców. Automatyczna realizacja procesu może doprowadzić do bardzo dużej liczby uzyskanych wzorców, często nie istotnych dla rozpatrywanego zadania. -Proces eksploracji danych musi być zatem kontrolowany przez użytkownika. Najczęstsza obecnie realizacja procesu to interaktywne określanie parametrów na każdym etapie (w każdym kroku) eksploracji danych. Realizacja interfejsu obejmuje często dedykowane, graficzne diagramy przepływu działań, bądź ich hierarchiczne uszeregowanie. Inne rozwiązania obejmować mogą opracowanie dedykowanych języków zapytań. slajd 42
Proces eksploracji danych zadanie eksploracji Określenie danych związanych z zadaniem Określenie typu poszukiwanej wiedzy Zdefiniowanie posiadanej wiedzy ODKRYWANIE WIEDZY (opracowanie, testowanie i wykorzystanie modelu) Miary i ocena wiedzy odkrytej Wizualizacja odkrytej wiedzy slajd 43
Proces eksploracji danych dane Baza danych lub hurtownia Tabela bazy danych, kolekcja, kostka danych Warunki wyboru danych Istotne atrybuty, pola, wymiary Kryteria grupowania danych slajd 44
Proces eksploracji danych typ wiedzy Charakterystyki Asocjacje (reguły asocjacyjne) Klasyfikacja Predykcja Segmentacja (klastry) Analiza ekstremów Sekwencje inne slajd 45
Proces eksploracji danych posiadana wiedza Hierarchia wiedzy Hierarchia kategorii ogólnych np. ULICA <- MIASTO <- POWIAT <- WOJEWÓDZTWO <- KRAJ Hierarchia kategorii grupowych np. {20-39} = młody, {70-100} = emeryt Hierarchia kategorii operacyjnych np. Adres email: LOGIN <- WYDZIAŁ <- UNIWERSYTET <- KRAJ Hierarchia reguł np. ZYSK_MIN (X) <= CENA(X, P1) AND KOSZT (X, P2) AND (P1 - P2) < 500PLN slajd 46
Proces eksploracji danych miary i ocena Złożoność np. rozmiar reguły asocjacyjnej, wielkość drzewa decyzyjnego, itp., Pewność np. ufność reguły (confidence): P(A B) = n(a AND B)/ n (B), dokładność i błędy klasyfikacji, Użyteczność np. wsparcie reguły/wzorca (support), przekroczenie progu akceptowalności, itp., Nowość wiedza nowa, nieznana, zaskakująca, itp. slajd 47
Proces eksploracji danych miary i ocena Klienci kupują i chleb i masło Klienci kupują masło Wsparcie wzorca (support), s, prawdopodobieństwo, że transakcja zawiera {X, Y, Z} Klienci kupują chleb Ufność wzorca (confidence), c, prawdopodobieństwo warunkowe, że transakcja zawierająca {X,Y} zawiera również Z Dla jakich powiązań s i c >=50%? ID transakcji Produkt kupowany 2000 A,B,C 1000 A,C 4000 A,D 5000 B,E,F slajd 48 A C (50%, 66.6%) C A (50%, 100%) Par {A,C} jest 2/4 czyli s=0.5. {A} występuje 3 razy, ale tylko w 2 przypadkach jest i {C} czyli c1=2/3. {C} występuje 2 razy i wówczas występuje również {A}, czyli c2=2/2=1.
Proces eksploracji danych miary i ocena lub Lift = correlation, interest slajd 49
Proces eksploracji danych miary i ocena Korelacja (interest, correlation, lift) Support{ X Y} Support{ X} Support{ Y} Pozycje X i Y nie są skorelowane jeśli wartość miary jest mniejsza niż 1, są skorelowane w przeciwnym przypadku X11110000 Y11000000 Z01111111 Zbiór Wsparcie Korelacja X,Y 25% 2 X,Z 37,50% 0,9 Y,Z 12,50% 0,57 slajd 50
Proces eksploracji danych wizualizacja Wizualizacja danych źródłowych Wizualizacja procesu eksploracji danych Wizualizacja wiedzy: reguły, drzewa, itd., zgodnie z wymienionymi wcześniej rodzajami odkrywanej wiedzy. slajd 51