Wyszukiwanie reguł asocjacji i ich zastosowanie w internecie



Podobne dokumenty
Algorytmy odkrywania binarnych reguł asocjacyjnych

Data Mining Wykład 3. Algorytmy odkrywania binarnych reguł asocjacyjnych. Plan wykładu

INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH

Inżynieria biomedyczna

1. Odkrywanie asocjacji

Metody eksploracji danych. Reguły asocjacyjne

Ewelina Dziura Krzysztof Maryański

Wprowadzenie Sformułowanie problemu Typy reguł asocjacyjnych Proces odkrywania reguł asocjacyjnych. Data Mining Wykład 2

Odkrywanie asocjacji

Reguły asocjacyjne, wykł. 11

Odkrywanie wzorców sekwencji

Systemy Wspomagania Decyzji

SAS wybrane elementy. DATA MINING Część III. Seweryn Kowalski 2006

Analiza i eksploracja danych

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING. EKSPLORACJA DANYCH Ćwiczenia. Adrian Horzyk. Akademia Górniczo-Hutnicza

Algorytm DIC. Dynamic Itemset Counting. Magdalena Przygórzewska Karolina Stanisławska Aleksander Wieczorek

Odkrywanie asocjacji

Krzysztof Kawa. empolis arvato. e mail: krzysztof.kawa@empolis.com

Data Mining Wykład 5. Indukcja drzew decyzyjnych - Indeks Gini & Zysk informacyjny. Indeks Gini. Indeks Gini - Przykład

data mining machine learning data science

Wysokość drzewa Głębokość węzła

B jest globalnym pokryciem zbioru {d} wtedy i tylko wtedy, gdy {d} zależy od B i nie istnieje B T takie, że {d} zależy od B ;

Przykład eksploracji danych o naturze statystycznej Próba 1 wartości zmiennej losowej odległość

Sztuczna Inteligencja Projekt

Sortowanie topologiczne skierowanych grafów acyklicznych

Wykład 4. Plan: 1. Aproksymacja rozkładu dwumianowego rozkładem normalnym. 2. Rozkłady próbkowe. 3. Centralne twierdzenie graniczne

2017/2018 WGGiOS AGH. LibreOffice Base

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Wielopoziomowe i wielowymiarowe reguły asocjacyjne

5. OKREŚLANIE WARTOŚCI LOGICZNEJ ZDAŃ ZŁOŻONYCH

Reguły asocjacyjne w programie RapidMiner Michał Bereta

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

Weryfikacja hipotez statystycznych

Ćwiczenie 5. Metody eksploracji danych

Konkurs z przedmiotu eksploracja i analiza danych: problem regresji i klasyfikacji

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Grzegorz Harańczyk, StatSoft Polska Sp. z o.o.

Odkrywanie asocjacji. Cel. Geneza problemu analiza koszyka zakupów

Indeksy w bazach danych. Motywacje. Techniki indeksowania w eksploracji danych. Plan prezentacji. Dotychczasowe prace badawcze skupiały się na

5.5. Wybieranie informacji z bazy

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Podstawy Informatyki. Metody dostępu do danych

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Weryfikacja hipotez statystycznych, parametryczne testy istotności w populacji

Spacery losowe generowanie realizacji procesu losowego

Metody Programowania

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Wnioskowanie bayesowskie

Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny

Temat: Algorytm kompresji plików metodą Huffmana

Zapytania do bazy danych

15. Funkcje i procedury składowane PL/SQL

Porządek symetryczny: right(x)

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2014/2015

Indukowane Reguły Decyzyjne I. Wykład 3

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

EGZAMIN MATURALNY OD ROKU SZKOLNEGO

Wybrane wymagania dla informatyki w gimnazjum i liceum z podstawy programowej

Struktura drzewa w MySQL. Michał Tyszczenko

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Strategie ewolucyjne (ang. evolu4on strategies)

prowadzący dr ADRIAN HORZYK /~horzyk tel.: Konsultacje paw. D-13/325

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2

Systemy uczące się Lab 4

Eksploracja danych - wykład VIII

Algorytmy i Struktury Danych, 9. ćwiczenia

web mining bazach danych

6. Zagadnienie parkowania ciężarówki.

QUERY język zapytań do tworzenia raportów w AS/400

Scenariusz lekcji opartej na programie Program nauczania informatyki w gimnazjum DKW /99

Algorytmy optymalizacji zapytań eksploracyjnych z wykorzystaniem materializowanej perspektywy eksploracyjnej

Algorytmy mrówkowe. P. Oleksyk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

SYSTEMY UCZĄCE SIĘ WYKŁAD 3. DRZEWA DECYZYJNE. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

INFORMATYKA POZIOM ROZSZERZONY

Klasyfikacja obiektów Drzewa decyzyjne (drzewa klasyfikacyjne)

Data Mining podstawy analizy danych Część druga

Programowanie i struktury danych

Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów

Przestrzenne bazy danych Podstawy języka SQL

Pochodna i różniczka funkcji oraz jej zastosowanie do obliczania niepewności pomiarowych

Jak przekształcać zmienne jakościowe?

Listy, kolejki, stosy

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279

Data Mining Kopalnie Wiedzy

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Sprawozdanie z laboratorium: Hurtownie Danych. Algorytm generowania reguł asocjacyjnych. FP-Growth. 9 czerwca 2011

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

Wykład 4: Wnioskowanie statystyczne. Podstawowe informacje oraz implementacja przykładowego testu w programie STATISTICA

REGU LY ASOCJACYJNE. Nguyen Hung Son. Wydzia l Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski. 28.II i 6.III, 2008

REGU LY ASOCJACYJNE. Nguyen Hung Son. 25 lutego i 04 marca Wydzia l Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski.

9.9 Algorytmy przeglądu

Data mininig i wielowymiarowa analiza danych zgromadzonych w systemach medycznych na potrzeby badań naukowych

AiSD zadanie trzecie

Wyszukiwanie binarne

7. Estymacja parametrów w modelu normalnym( ) Pojęcie losowej próby prostej

Transkrypt:

Bartosz BACHMAN 1, Paweł Karol FRANKOWSKI 1,2 1 Wydział Elektryczny, 2 Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie E mail: bartosz.bachman@sk.sep.szczecin.pl 1. Wprowadzenie Wyszukiwanie reguł asocjacji i ich zastosowanie w internecie Asocjacja inaczej skojarzenie polega na kojarzeniu elementów, łączeniu ich ze sobą i wyszukiwaniu zależności pomiędzy nimi. Pierwotnie badania nad regułami asocjacji motywowane były zagadnieniami tak zwanej analizy koszykowej. Odkrywając wzorce zachowań klientów można określić grupy produktów kupowanych jednocześnie. Wiedza ta pozwala lepiej dobierać miejsce położenia produktów na półkach, tworzyć skuteczniejsze promocje, opracowywać wydajniejsze kampanie marketingowe, optymalizować strategię cenową, czyli jednym słowem zwiększać zyski i poprawiać konkurencyjność firmy. Wiedząc na przykład, że większość klientów kupujących węgiel drzewny do grilla kupuje również podpałkę, można zadbać by produkty te znalazły się np. odpowiednio blisko siebie. Chcąc podnieść dzienną liczbę klientów, a jednocześnie nie obniżać średniej marży można wykorzystać tą zależność reklamując nową, promocyjną cenę węgla, co z pewnością w okresie wiosennym przyczyni się do zwiększenia liczbę klientów, jednocześnie podnosząc cenę innych produktów, które są zwykle kupowane wraz z węglem. Podniesiona cena m.in. podpałki zrekompensuje spadek marży z węgla, zaś większe obroty przełożą się na zysk. Termin Analiza Koszykowa funkcjonuje do dzisiaj, jednak jej zakres wychodzi obecnie daleko poza półki sklepów obejmując np.: badania naukowe, transakcje biznesowe, analizy tekstu typu text mining i wiele innych. Algorytmy wyszukujące reguły asocjacji są stosowane wszędzie tam gdzie analizowane są obszerne bazy danych, a powiązania pomiędzy poszczególnymi zmiennymi nie są znane. Nazwy Analiza Koszykowa i Wyszukiwanie Reguł Asocjacji stosowane są coraz częściej w sposób zamienny. Jednoznaczność tych terminów pozostaje dyskusyjna jednakże użyteczność tego jednego z najpowszechniej stosowanych narzędzi Data Mining jest bezsporna. 2. Wyszukiwanie reguł asocjacji Jak już wspomniano, analiza koszykowa służy do znajdywania w dużym zestawie danych ukrytych zależności w postaci prostych reguł. Analizować można dowolne cechy danej populacji, choć w zależności od ich rodzaju oraz formy przedstawiania należy dostosować sposób analizy.

10 Bartosz Bachman, Paweł Karol Frankowski Standardowo cechy mogą być podzielone na: cechy jakościowe niebędące liczbami, np.: kolor, płeć, grupa krwi, cechy ilościowe cechy przyjmujące pewne wartości liczbowe: - skokowe cecha przyjmuje tylko pewne wartości liczbowe np. liczba dzieci, - ciągłe cecha może przymować dowolne wartości z danego przedziału, - porządkowe przyporządkowuje dane liczbowe do konkretnych przedziałów np. wzrost: niski, średni i wysoki. Analiza koszykowa była tworzona z myślą o danych jakościowych. Chcąc wykorzystać ją do danych liczbowych ilościowych ciągłych, a często również skokowych należy najpierw je dyskretyzować. Poprzez ten proces dąży się do otrzymania możliwie małej ilości przedziałów, przy jednoczesnym jak najlepszym oddaniu natury danej zmiennej. W efekcie cechy ciągłe zamieniane są w skokowe, porządkowe lub (o ile to tylko możliwe) dychtonomiczne. Podczas przygotowywania danych do analizy bardzo pomocne okazują się być współczesne modele wykorzystujące w dyskretyzacji miarę entropii i regułę MDL, jednak w większości przypadków nie mogą one całkowicie zastępować człowieka, kluczem do odpowiedniego przygotowania danych nadal pozostaje ich zrozumienie.wynikiem analizy koszykowej są reguły asocjacji w postaci: JEŻELI [poprzednik (z ang. body)] TO [następnik (z ang. head)] Przykładem takiej reguły może być: [węgiel, kiełbaski] [podpałka], należy to odczytać jako: jeżeli klient kupił węgiel i kiełbaski to istnieje istotne prawdopodobieństwo, że kupi również podpałkę. Oczywiście reguła ta nie musi się być prawdziwa w stu procentach, przypadków. Jakość reguły zwykle opisywana jest przez dwa, lub czasami trzy wskaźniki. Zanim jednak zostaną one omówione należy wprowadzić szereg pojęć. Zakładając, że dysponujemy zbiorem danych, w którym: I : zbiór iterałów (atrybutów); w naszym przypadku wszystkich dostępnych w sklepie towarów; I={i 1, i 2,, i m }, X : dowolny zbiór iterałów zawierający się w zbiorze I, czyli X I, D : zbiór transakcji, każda transakcja jest reprezentowana przez parę T={id, X}, gdzie id to numer identyfikacyjny transakcji; D={T 1, T 2,, T m }, T id : zakładamy, że każdy identyfikator transakcji należy do skończonego zbioru identyfikatorów T id ; Mówimy, że dana transakcja T pokrywa zbiór A gdy A X, Pokrycie zbioru towarów A w bazie D to zbiór cover(a, D) = {T D : T pokrywa A}. Chcąc określić częstość występowania zbioru produktów A w transakcjach bazy D, czyli c(a, D) należy obliczyć w ilu przypadkach transakcje T pokrywały badany zbiór A oznaczmy to przez s(a, D), a następnie podzielić to przez liczbę transakcji znajdujących się w bazie, czyli s(d). Reguły asocjacji można, zatem definiować jako implikacje A B, gdzie A I i B I oraz A B =. Podstawowymi wskaźnikami jakości reguły są: Wsparcie (support) może zostać zapisana, jako prawdopodobieństwo P(A B) czyli odsetek transakcji w zbiorze danych zawierających daną regułę. W omawianym

Wyszukiwanie reguł asocjacji i ch zastosowanie w Internecie 11 przypadku okresla prawdopodobieństwo kupienia węgla, kiełbasek i podpałki przez losowo wybranego klienta. sup(a B, D) = s(a B) s(d) (1) Pewność (confidence) może zostać zapisana, jako prawdopodobieństwo warunkowe P(B A) czyli prawdopodobieństwo wystopięnia następnika, pod warunkiem wystąpienia poprzednika. W opisywanym przypadku jest to prawdopodobieństwo tego, że klient kupi podpałkę, gdy już kupił węgiel i kiełbaski. conf(a B,D) = sup(a B,D) sup(a,d) (2) Korelacja (correlation) Wskażnik ten można traktować jako informację o tym, jaka część dostępnych zdarzeń została wykorzystana w danej asocjacji. Gdy korelacja reguły jest równa 100% oznacza to że wszystkie zbiory częte tworzące tą regułe występują tylko w niej. correl(a B,D) = sup (A B,D) sup (A,D) sup (B,D) (3) Przyrost (lift) jest rozwinięciem wskaźnika korelacji. Informuje, jaki jest wpływ sprzedaży produktu A na sprzedaż produktu B. Należy zauważyć, że potencjalnych reguł może być bardzo wiele, np. jeżeli klient nie kupił produktu A to nie kupi również produktu B. Taka reguła jest zupełnie bezużyteczna gdyż w sklepie mogą być tysiące produktów. Należy, zatem wydzielić jedynie te reguły, które spełniają nasze wymagania. W tym celu określa się minimalne wartości wsparcia i czasem pewności, lub korelacji. Zbiory o wsparciu większym niż minimalne nazywane są częstymi. Przyjmuje się, że zbiór towarów A jest częsty, jeśli występuje on w co najmniej minsupp procentach transakcji w bazie c(a, D) >support min D. Tab. 1. Przykładowa baza transakcji D Tab. 1. Example of database D Tid węgiel podpałka kiełbasa keczup piwo 1 2 3 W tabeli 1 przedstawiono przykład bazy transakcji D. W sklepie znajduje się jedynie pięć produktów, a reguł asocjacji są wyszukiwane tylko w trzech transakcjach. Dane można przedstawić w formie tabeli wielodzielczej, zawierającej dane dychtonomiczne. By uprościć analizę pola produktów, w których nie zakupiono w danej transakcji pozostawiono puste. Taka forma zapisu nadaje się do prezentowanego przykładu, jednak

12 Bartosz Bachman, Paweł Karol Frankowski w praktyce liczba transakcji i produktów w sklepie może być o wiele większa i sięgać np. dziesiątek tysięcy. Wówczas otrzymana tabela byłaby olbrzymia i w większości pusta. Z tego powodu zwykle lepiej sprawdzają się dane w formie tabeli wielokrotnych odpowiedzi, lub o ile to możliwe w formie tabeli liczności. Błędne przygotowanie danych może sprawić, że nie otrzymamy reguł asocjacji, otrzymane reguły będą nieużyteczne, lub po prostu nieprawdziwe. W ogólnym przypadku liczbę potencjalnych reguł można wyliczyć korzystając ze wzoru na kombinację bez powtórzeń. Jeżeli L to maksymalna rozpatrywana liczba poprzedników, zaś K następników, a n to liczba produktów w sklepie, wtedy liczba potencjalnych reguł wynosi: L n K n S = l = l k = k, 1 1 K + L n W omawianym przypadku chcemy wykryć wszystkie możliwe reguły. Ponieważ w takiej sytuacji liczba poprzedników ogranicza liczbę następników wzór musi być zmodyfikowany do postaci: S L = n n l n l = 1 l k = 1 k Po podstawienie danych do wzoru (5) obserwuje się, że stosując tabelę z danymi dychtonomicznymi (produkt kupiony lub niekupiony) liczba potencjalnych reguł wynosi 57002. Gdy przedstawimy te same dane tak jak w tabeli 1, gdzie zmienne mogą przejmować tylko jedną wartość liczba ta maleje do 180. Można zauważyć, że jeżeli reguła A B spełnia nasze wymogi, to reguła B A będzie spełniała je w tym samym stopniu. Uwzględnienie tego faktu umożliwia dodatkowe ograniczenie ilości reguł. Równie istotne jest dobranie odpowiednich warunków. W omawianym przypadku po ustawieniu minimalnej korelacji, wsparcie i pewność na 33% otrzymano 88 reguł, przy 50% liczba reguł zmalała już do 22, zaś przy 70% do 2. (4) (5) Rys. 1a. Przykładowe reguły asocjacji Fig. 1a. Example of association rules

Wyszukiwanie reguł asocjacji i ch zastosowanie w Internecie 13 Rys. 1b. Przykładowe reguły asocjacji Fig. 1b. Example of association rules Na rysunkach 1a i 1b przedstawiono przykładowe reguły asocjacji. Wielkość węzłów na wykresie jest proporcjonalna do względnej wartości wsparcie, grubość linii do względnego zaufania kolor zaś świadczy o względnej korelacji. 3. Wyszukiwania reguł asocjacji w ujęciu algorytmicznym Podstawowym i najbardziej rozpowszechnionych algorytmem służącym do realizacji analizy koszykowej jest model Apriori. Main L1 = {zbiory częste 1-elementowe}; for (k=2;lk-1 ;k++) do begin Ck = apriori_gen(lk-1); For each transakcji t T do begin Ct = subset(ck,t); For each zbioru kandydującego c Ct do c.count++; end; Lk = {c Ck c.count minsup} end; Wynik = klk; Rys. 2 Pseudokod algorytmu Apriori Fig. 2 Pseudocode of Apriori algorithm apriori_gen function apriori_gen(ck) insert into Ck select p.item1, p.item2,..., p.itemk-1, q.itemk-1 from Lk-1 p, Lk-1 q where p.item1 = q.item1,..., p.itemk-2 = q.itemk-2, p.itemk-1 < q.itemk-1; for all itemsets c Ck do for all (k-1)-subsets s of c do if ( s Lk-1 ) then delete c from Ck; endfunction; Idea algorytmu bazuje na spostrzeżeniu, że jeżeli zbiór nie jest częsty to nie może tworzyć reguł spełniających warunki minimalne. Model ten wymaga uporządkowania wszystkich znajdujących się w bazie transakcji (np. w sposób leksykograficzny). W pierwszej kolejności wyodrębnione zostają wszystkie wyrazy częste. Z nich generowane są zbiory kandydujące dwuelementowe. Proces szukania kandydatów, zwany AprioriGen, zawiera

14 Bartosz Bachman, Paweł Karol Frankowski dwie główne operacje: łączenie i przycinanie. Zbiór kandydatów k-elementowych jest generowany przez łączenie zbioru Lk-1 z nim samym a następnie przycinany poprzez usuwanie zbędnych zbiorów. Dla każdego z zbiorów obliczane jest wsparcie, jeżeli jest ono większe od zadanego wsparcia minimalnego minsup to tworzy on regułę. Ponadto każdy z spełniających warunek zbiorów zostaje ponownie wykorzystany, jako zbiór częsty i współtworzy zbiór kandydujący trzyelementowy. W każdej kolejnej iteracji, w oparciu o zbiory częste (Lk) znalezione w poprzednim kroku, algorytm generuje zbiory kandydujące (Ck) o rozmiarze większym o 1. Wynikiem działania jest suma k-elementowych zbiorów częstych (k=1, 2,...). By zapewnić odpowiednią efektywności obliczania wsparcia zbiorów kandydujących, wykorzystuje się strukturę danych w postaci drzewa haszowego. Służy ona do przechowywania zbiorów kandydujących. Procedura subset() zwraca te zbiory kandydujące należące do Ck, które są wspierane przez transakcję t. Można zauważyć, że jeżli AB CD jest wiarygodną regułą, to reguły ABC D i ABD C też są wiarygodne. Największą niedogodność w algorytmie Apriori stanowi wielokrotne przeglądanie całej bazy danych (D) w celu wyznaczania wsparcia dla kandydatów. Algorytm przestaje być efektywny, przy bardzo dużych rozmiarach D. W literaturze zaproponowano już wiele sposobów rozwiązania tego problemu. W większości przypadków opierają się one na zawężaniu obszaru poszukiwań w każdej kolejnej iteracji, lub na zmniejszaniu liczby przeszukań bazy danych. Naturalnym rozwinięciem algorytmu Apriori jest AprioriTid, jego główną ideą jest wprowadzenie dodatkowej struktury danych, zwanej CountingBase. Ponieważ transakcje nie zawierające żadnego k-zbioru częstego, nie mogą zawierać żadnego (k+1) zbioru częstego nie są one przepisywane do struktury. Wykreślenie ich umożliwia zmniejszenie liczby obliczeń w następnej iteracji. Tab. 2. Przykladowa baza danych D 2 Tab. 2. Example of Database D 2 Tid węgiel podpałka kiełabasa keczup piwo wino 1 2 3 4 5 Zupełnie inne podejście zaproponowano w algorytmie FP-Growth. Składa się on z dwóch zasadniczych etapów: utworzenia drzewa FP i jego eksploracji. Idea algorytmu została przedstawiona na podstawie przykładowej bazy danych (Tab.2). Założono minimalne wsparcie na poziomie 30% i minimalną pewność na poziomie 70%. W pierwszym kroku, (zwanym krokiem kompresji bazy danych) podobnie jak w przypadku Apriori baza D 2 jest przeszukiwana w celu znalezienia zbiorów częstych. W kroku drugim z każdej transakcji usuwane są te elementy, które nie są zbiorami czę-

Wyszukiwanie reguł asocjacji i ch zastosowanie w Internecie 15 stymi (zwykle znacząco ogranicza to liczbę analizowanych danych, stąd nazwa etapu). W trzecim kroku, w każdej transakcji Ti (gdzie i = 1, 2,..., n), elementy są sortowane według malejących wartości ich wsparcia. Posortowane transakcje T1, T2,...,Tn, w ostatnim kroku, są transformowane do postaci FP-Tree. Cały proces symbolicznie przedstawiono na rysunku 3. Rys. 3. Algorytm tworzenia Drzewa FP Fig. 3. Algorithm of creation FP-Tree Każda pojedyncza gałąź w drzewie FP, rozpoczyna się w korzeniu drzewa (oznaczonym etykietą null). Reprezentuje ona zbiór transakcji zawierających identyczne elementy. Licznik ostatniego wierzchołka α danej ścieżki prefiksowej (dowolnego odcinka gałęzi) informuje o liczbie transakcji wspierających zbiór elementów reprezentowanych przez wierzchołki grafu należące do tej ścieżki. Algorytm FP-Growth tworzy również dodatkową strukturę. Nazywa się ją Tablicą Nagłówkową. Wskazuje ona lokalizację każdego elementu w drzewie FP. Wszystkie ścieżki prefiksowe wzorca tworzą warunkową bazę wzorca, która służy do konstrukcji tak zwanego Warunkowego drzewa FP wzorca alpha, oznaczanego Tree_alpha. Warunkowe drzewo FP jest w dalszej części algorytmu rekursywnie eksplorowane w celu znalezienia wszystkich zbiorów częstych zawierających zbiór alpha. W przedstawionym przykładzie pierwsza transakcja tworzy ścieżkę prefiksową podpałka:1 węgiel:1. Transakcja druga ma wspólny prefiks podpałka z transakcją pierwszą, posiada również zbiory częste piwo kiełbasa, które tworzą nową ścieżkę prefiksową. W kroku drugim otrzymano gałąź: podpałka:2 piwo:1 Kielbasa:1. Transakcja o id.3 nie pokrywa się z dwiema pierwszymi w najczęstszym z zbiorów (podpałka), tworzy tym samym nie zupełnie nową gałąź. W analogiczny sposób można rozpisano transakcje o id. 4 i 5, w wyniku czego otrzymano drzewo FP o kształcie przedstawionym na rysunku 3. Następnym etapem jest eksploracja Drzewa FP, jej procedurę przedstawiono w postaci pseudokodu na rysunku.4.

16 Bartosz Bachman, Paweł Karol Frankowski procedure FP-Growth (Tree, α) if Tree zawiera pojedynczą ścieżkę P then for each kombinacji β wierzchołków ścieżki P do generuj zbiór β α o wsparciu równym minimalnemu wsparciu elementów należących do β end do else for each α-i należącego do tablicy nagłówków elementów Tree do generuj zbiór β = α-i α o wsparciu = wsparcie(α-i ); utwórz warunkową bazę wzorca β; utwórz warunkowe FP-drzewo wzorca β - Tree- β; if Tree- β then FP-Growth (Tree- β, β); end procedure; Rys. 4. Pseudokod procedury eksploracji DrzewaFP Fig. 4. Pseudocode of FP-Tree exploration algorithm Ekspolorację drzewa rozpoczyna się od ostatniego znalezionego zbioru częstego, od najmniejszego wsparcia. Ostatnim znalezionym zbiorem częstym była kiełbasa. Prowadzi do niej tylko jedna ścieżka prefiksowa podpałka:2 piwo:2 kielbasa:2. Licznik ścieżki przyjmuje wartość licznika transakcji wierzchołka kiełbasa i jest równy 2. Warunkowe drzewo FP kiełbasy zawiera, zatem tylko jedną ścieżkę, która tworzy wzorce: (podpałka piwo kielbasa):2, (podpałka piwo):2 i (podpałka):2. Wsparcie tych wzorców wynosi 2/5=40%. W analogiczny sposób rozpisać można pozostałe gałęzie drzewa. W rozpatrywanym przypadku drzewo warunkowe węgla posiada aż trzy ścieżki prefiksowe, zaś piwo tylko jedną. 4. Web mining Internet stanowi doskonałe miejsce do poznawania zwyczajów użytkowników i wyznaczania najróżniejszych reguł asocjacji. Wykorzystywania narzędzi Data Mining w sieci jest w znacznym stopniu uproszczone, ponieważ: gromadzone dane zawierają sporo informacji o internaucie, ilość zgromadzonych danych jest na tyle duża, że z łatwością można wylosować wiarygodną próbę testową, co może być bardzo pomocne przy testowaniu modeli, dzięki zautomatyzowanemu sposobowi gromadzenia danych otrzymuje się względnie rzetelne zbiory obserwacji, bardzo łatwo można zaobserwować i wykazać użyteczność modeli data mining oraz oszacować efektywność działań (np. obliczając wskaźnik ROI), otrzymywane dane są zestandaryzowane, więc łatwo je porównać z danymi analizowanymi jakiś czas temu, pozwala to na skuteczną analizę sekwencji.

Wyszukiwanie reguł asocjacji i ch zastosowanie w Internecie 17 web mining analiza zawartości sieci analiza wzorców zachowań użytkowników podejście oparte na agentach podejście oparte na bazach danych Rys. 5. Web mining [2] Fig. 5. Web mining [2] Najbardziej oczywistym zastosowań wyszukiwania reguł asocjacji w Web mining jest użycie ich w sklepach internetowych. Wiedząc, że klient kupuje produkt A można mu pokazać produkty B, C i D, które są zwykle kupowane wraz z A. Są to tak zwane reguły substytucji. Reguły dysocjacji, (jeżeli A i [nie B] to C) pozwalają dostosować wygląd strony do użytkownika by nie widział tego, czego nie chce oglądać. Reguły cykliczne pozwalają przypomnieć mu o tym, że zbliża się czas, w którym zwykle kupuje jakiś produkt. Lub wyświetlić reklamy, gdy zwykle jego aktywność w Internecie jest największa. Reguły sekwencji dostarczają informacji, co, kiedy i za ile internauta kupuje. Robiąc zakupy w Internecie dostarczamy administratorom sklepu wielu cennych informacji takich jak: kiedy mamy czas wolny, jakimi środkami finansowymi dysponujemy, w jaki sposób dokonujemy płatności, jak podatni na reklamę jesteśmy i wiele innych [1]. Analiza zachowań internautów pozwala przedsiębiorstwom oszacować wartość życiową klienta, maksymalizować przychody ze sprzedaży, oceniać skuteczność kampanii promocyjnych, optymalizować wygląd i funkcjonalność witryn, dostarczać internautom spersonalizowany przekaz, czy znaleźć najbardziej skuteczną logiczną strukturę witryny. Każdy nasz krok pomiędzy stronami, czas, który na stronie przebywamy, co, gdzie i kiedy piszemy pozostawia w Internecie ślady. Warto, zatem wiedzieć, że kiedy my się uczymy Internetu, Internet uczy może uczyć się nas. Podsumowując Web mining występuje w pięciu obszarach: personalizacja mająca zastosowanie głównie w handlu elektronicznym, usprawnienia systemu poprzez wykrywanie przeciążeń, intruzów, oszustów i sposobów włamań, modyfikacja witryny ma na celu wzrost jej atrakcyjności dla użytkowników, często wiąże się z handlem elektronicznym, analityka biznesowa dostarcza informacji w jakis sposób internaucie poruszają się po Siecie, dane te są następnie wykorzystywane marketingowo w trzech obszarach: pozyskiwania klientów, sprzedaży krzyżowej i analizie migracji klientów, charakterystyka użytkowników sposób w jaki użytkują Internet dostarcza wielu, użytecznych danych.

18 Bartosz Bachman, Paweł Karol Frankowski 5. Wnioski Algorytmy badające reguły asocjacji są bardzo użytecznym i uniwersalnym narzędziem pozwalającym odkryć wiele zaskakujących i niespodziewanych powiązań. Kluczem do wykrycia właściwych reguł jest odpowiednie przygotowanie danych. Literatura 1. Łapczyński M., Analiza koszykowa i analiza sekwencji wielki brat czuwa, www.statsoft.pl/czytelnia.html 2009 2. Cooley R., Mobasher B., Srivastava J., WebMining: Information and Pattern Discovery on the World Wide Web, Proceedings of the 9th International Conference on Tools with Artificial Intelligence, IEEE Computer Society, 1997, s. 558 Streszczenie Celem artykułu jest przedstawienie metod wyszukiwania reguł asocjacji i opisywania, jakości otrzymanych powiązań. W opracowaniu przedstawiono na przykładach algorytmy najbardziej popularnych metod anlizy koszykowej: Apriori i FP-Growth. Zwrócono również uwagę na proces przygotowania danych do dalszej analizy. Ostatni rozdział został poświęcony zastosowaniu wyszukiwania reguł asocjacji w Internecie tzw. Web mining. Process of search for association rules and their uses in internet Summary The purpose of this paper is to present the process of search association rules and presentation main parameters of obtained links. Pseudocode of Apriori and FP-Growth algorithms are presented and analyzed for the example database. Processes of preparing data for search association rulaes are presented. Last chapter of this paper is dedicated for the topic of Web mining.