Inżynieria biomedyczna Projekt Przygotowanie i realizacja kierunku inżynieria biomedyczna studia międzywydziałowe współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego.
- MSU Hurtownie i eksploracja danych Wykład 2,3 Jacek Rumiński 2
Hurtownie i eksploracja danych Plan wykładu 1. Reguły asocjacyjne wprowadzenie, stosowane miary 2. Algorytm Apriori 3. Algorytm FP Jacek Rumiński 3
Asocjacja (powiązanie) to forma wiedzy ujęta w ramach implikacji zapisywanej jako JEŻELI X TO Y; [X] -> [Y], lub ogólnie [BODY] -> [HEAD]. [X] i [Y] stanowią parametry mierzonego procesu lub obiektu, np. stanowią zapis atrybutów dla danej transakcji. Klasycznym zastosowaniem reguł asocjacyjnych jest - badanie powiązań pomiędzy wybieranymi przez klienta produktami, - badanie powiązań pomiędzy opisem klienta a jego potencjalnymi potrzebami lub możliwościami, - badanie powiązań pomiędzy procesami, - itp. Jacek Rumiński 4
Miarami asocjacji są wsparcie wzorca (support s) oraz ufność wzorca (confidence c). Każda reguła asocjacyjna powinna być opisana wartościami tych miar, np. [towar(x, chleb )] -> [towar(x, masło )] [20%, 45%] {dla analizowanych danych występuje reguła, według której 20% klientów kupuje chleb i masło; a 45% klientów kupujących chleb kupuje również i masło} Dla dużych zestawów danych wsparcie jest z reguły dużo mniejsze niż ufność s<<c, np., s=0.5%, c=50%. Reguły asocjacji mogą być złożone, np. [towar(x, chleb )] AND [towar(x, masło )] -> [towar(x, szynka )] [2%, 15%] Jacek Rumiński 5
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.. Jacek Rumiński 6
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 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. Jacek Rumiński 7
lub Lift = correlation, interest Jacek Rumiński 8
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 X 1 1 1 1 0 0 0 0 Y 1 1 0 0 0 0 0 0 Z 0 1 1 1 1 1 1 1 Zbiór Wsparcie Korelacja X,Y 25% 2 X,Z 37,50% 0,9 Y,Z 12,50% 0,57 Jacek Rumiński 9
Hurtownie i eksploracja danych Plan wykładu 1. Reguły asocjacyjne wprowadzenie, stosowane miary 2. Algorytm Apriori 3. Algorytm FP Jacek Rumiński 10
Wartości miar asocjacji są wykorzystywane dla eliminacji reguł nie istotnych; lub inaczej poszukiwane są te reguły których wsparcie i ufność są większe niż podane przez użytkownika parametry. Zbiór pozycji (wartości atrybutów) jest częsty, jeśli liczba jego wystąpień (wsparcie) jest większa niż zadana wartość progowa. Każdy podzbiór zbioru częstego jest częsty. Jeżeli {XY} to zbiór częsty, to również {X} i {Y} są zbiorami częstymi. Algorytm wyznaczania reguł (zbiorów częstych) - ALG. APRIORI Jacek Rumiński 11
C k k-elementowy zbiór (itemset) kandydat zbioru częstego, L k k-elementowy zbiór (itemset) częsty, i liczba istniejących pozycji (items), Ts wartość progowa powtórzeń, { C 1 = zbiór wszystkich jednoelementowych pozycji; for each transaction t in database do zwiększ liczbę powtórzeń kandydatów z C 1 występujących w t; L 1 = kandydaci z C 1 o s i >Ts; for (k = 1; L k!= ; k++) do { C k+1 =generuj kandydatów z L k ; for each transaction t in database do zwiększ liczbę powtórzeń kandydatów z C k+1 występujących w t; L k+1 = kandydaci z C k+1 o s i >Ts; }return k L k ; } <-wszystkie L Jacek Rumiński 12
Baza danych BD itemset s L C 1 {1} 2 1 TID Items 100 1 3 4 200 2 3 5 300 1 2 3 5 400 2 5 Skanuj BD {2} 3 {3} 3 {4} 1 {5} 3 itemset s {1 2} 1 {1 3} 2 {1 5} 1 {2 3} 2 {2 5} 3 {3 5} 2 C 2 C 2 L itemset s Skanuj {1 3} 2 BD {2 3} 2 {2 5} 3 {3 5} 2 C 3 itemset Skanuj L 3 {2 3 5} BD itemset s {2 3 5} 2 Ts = 1 itemset s {1} 2 {2} 3 {3} 3 {5} 3 itemset {1 2} {1 3} {1 5} {2 3} {2 5} {3 5} wszystkie L (Na podstawie J. Han, M. Kamber, Data Mining Concepts and Techniques, The Morgan Kaufmann Publishers, 2011) Jacek Rumiński 13
Hurtownie i eksploracja danych DEMONSTRACJA Weka Jacek Rumiński 14
L 3 ={abc, abd, acd, ace, bcd} Łączenie L 3 *L 3 {abcd} z {abc} i {abd} {acde} z {acd} i {ace} Usuwanie {acde} jest usuwany ponieważ {ade} L 3 C 4 ={abcd} PROBLEM C k+1 =generuj kandydatów z L k ; ROZWIĄZANIE łącz (L k *L k ) i usuwaj te, których podzbiory nie są w L k (zgodnie z zasadą podzbiory zbiorów częstych są zbiorami częstymi) Przykładowo K=3 Jacek Rumiński 15
Podsumowanie algorytmu apriori Zastosowanie (k 1) elementowych zbiorów częstych do utworzenia k-elementowych zbiorów kandydujących na zbiory częste Skanowanie bazy danych wraz z dopasowaniem wzorca zbioru elementów w celu wyznaczenia liczby powtórzeń Ograniczenia algorytmu Apriori generacja kandydatów Duże zbiory kandydujące na zbiory częste - 10 4 częstych zbiorów 1-elementowych generuje 10 7 zbiorów kandydujących, 2-elementowych, - Odkrycie 100-elementowego zbioru częstego, np., {a 1, a 2,, a 100 }, wymaga generacji 2 100 10 30 kandydatów. Liczne operacje odczytu (skanowania) bazy danych - Jeżeli n oznacza wymiar największego zbioru (wzorca) wówczas wymagane jest w ogólności (n +1 ) operacji skanowania bazy danych. Jacek Rumiński 16
Hurtownie i eksploracja danych Plan wykładu 1. Reguły asocjacyjne wprowadzenie, stosowane miary 2. Algorytm Apriori 3. Algorytm FP Jacek Rumiński 17
Kompresja dużych baz danych do postaci kompaktowej poprzez zastosowanie drzew częstych wzorców, Frequent-Pattern tree (FP-tree) Wysoce upakowana struktura, Eliminacja dużej liczby skanów bazy danych. Znaczenie drzewa FP w eksploracji danych Wykorzystanie zasady rozdziału zadań złożonych na zadania proste, Eliminacja procedury generacji kandydatów testy na podzbiorach. Procedura 1. Budujemy drzewo FP 2. Generujemy zbiory częste na podstawi analiz drzewa FP Na podstawie Jiawei Han, Jian Pei, Yiwen Yin Mining Frequent Patterns without Candidate Generation In Proceedings of the 2000 ACM SIGMOD international Conference on Management of Data (Dallas, Texas, United States, May 15-18, 2000). SIGMOD '00. ACM Press, New York, NY, 1-12. Jacek Rumiński 18
TID pozycje kupowane pozycje posortowane według częstości 100 {f, a, c, d, g, i, m, p} {f, c, a, m, p} 200 {a, b, c, f, l, m, o} {f, c, a, b, m} 300 {b, f, h, j, o} {f, b} 400 {b, c, k, s, p} {c, b, p} 500 {a, f, c, e, l, p, m, n} {f, c, a, m, p} Kroki 1. Budujemy drzewo FP 1. Skanowanie bazy celem wygenerowania 1- elementowych zbiorów częstych 2. Sortowanie malejące zbiorów według częstości ich występowania 3. Skanowanie bazy budowanie drzewa FP Tabela nagłówkowa Pozycja częstość link f 4 c 4 a 3 b 3 m 3 p 3 min_support = 0,5 (co najmniej 3 razy) m2 c3 a3 {} f4 c1 b1 p2 m1 (Na podstawie J. Han, M. Kamber, Data Mining Concepts and Techniques, The Morgan Kaufmann Publishers, 2011) Jacek Rumiński 19 b1 b1 p1
Kompletność Zachowuje kompletną informację o zbiorach częstych Kompaktowość Redukcja informacji nieistotnych zbiorów rzadkich, Reprezentacja według częstości wzorców współdzielenie częstych podzbiorów, Rozmiar mniejszy niż oryginalna baza danych (nie licząc danych tymczasowych, np. zliczeń). Metoda Dla każdej pozycji (węzła drzewa) zbuduj bazę wzorców zależnych (conditional pattern-base), z odpowiednimi drzewami FP (conditional FP-tree), Czynność powyższą powtarzaj dla kolejnych poddrzew, Jeśli dane drzewo jest puste lub zawiera tylko jedną ścieżkę zakończ. Jacek Rumiński 20
2. Generujemy zbiory częste FP krok 1 Stwórz bazę wzorców zależnych Od najczęstszych wzorców skanuj drzewo FP analizując kolejne ścieżki, Zapisz kolejne wzorce wraz z ich częstościami występować w bazie wzorców zależnych Tablica nagłówkowa Pozycja częstość link f 4 c 4 a 3 b 3 m 3 p 3 m2 c3 a3 {} f4 c1 b1 p2 m1 b1 b1 p1 Baza wzorców zależnych pozycja wzorzec c f3 a fc3 b fca1, f1, c1 m fca2, fcab1 p fcam2, cb1 Jacek Rumiński 21
FP krok 2 Dla bazy wzorców zależnych zbuduj drzewa FP Dla każdej bazy Policz częstość każdej pozycji w bazie Stwórz drzewo FP dla pozycji częstych w bazy wzorców Tablica nagłówkowa Pozycja częstość link f 4 c 4 a 3 b 3 m 3 p 3 m2 c3 a3 {} f4 c1 b1 p2 m1 b1 b1 p1 Baza wzorców m-zależnych fca2, fcab1 {} f3 c3 a3 m-zależne drzewo FP (co najmniej 3 razy) Wszystkie częste wzorce z m m, fm, cm, am, fcm, fam, cam, Jacek Rumiński 22 fcam
Eksploracja wzorców częstych poprzez stworzenie baz wzorców zależnych (co najmniej 3 razy) Pozycja p m b a c f Baza wzorców zależnych {(fcam2), (cb1)} {(fca2), (fcab1)} {(fca1), (f1), (c1)} {(fc3)} {(f3)} Puste Zależne drzewa FP {(c3)} p {(f3, c3, a3)} m Puste {(f3, c3)} a {(f3)} c Puste Jacek Rumiński 23
FP krok 3 Rekursywna eksploracja zależnych drzew FP {} {} f3 c3 a3 m-zależne drzewo FP Baza wzorców zależnych od am (fc3) f3 c3 am- zależne drzewo FP {} Baza wzorców zależnych od cm (f3) f3 cm- zależne drzewo FP {} Baza wzorców zależnych od cam (f3) f3 cam- zależne drzewo FP ANALOGICZNIE DLA INNYCH ŚCIEŻEK!!! Jacek Rumiński 24
FP krok 3 Rekursywna eksploracja zależnych drzew FP Załóżmy, że drzewo FP T ma pojedynczą ścieżkę P, Pełny zbiór wzorców częstych T może być wygenerowany poprzez wyliczenie wszystkich kombinacji krawędzi ścieżki P {} f3 c3 a3 Wszystkie częste wzorce z m m, fm, cm, am, fcm, fam, cam, fcam m-zależne drzewo FP Jacek Rumiński 25
Hurtownie i eksploracja danych Porównanie metod Apriori i drzew FP Jacek Rumiński
Wizualizacja reguł Jacek Rumiński 27
Wizualizacja reguł XELOPE Jacek Rumiński 28
Wizualizacja reguł Jacek Rumiński 29
Wizualizacja reguł Jacek Rumiński 30
Hurtownie i eksploracja danych DEMONSTRACJA Artools Jacek Rumiński 31
Hurtownie i eksploracja danych Zapraszam na kolejny wykład, który będzie poświęcony metodom klasyfikacji danych w eksploracji danych. Jacek Rumiński 32
Podsumowanie Projekt Przygotowanie i realizacja kierunku inżynieria biomedyczna studia międzywydziałowe współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego.