Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałKarina Knap Został zmieniony 10 lat temu
1
FP-Growth Adam Pieśkiewicz Kamil Niezręcki Krzysztof Grześkowiak
Michał Kucal
2
Plan prezentacji 1. Zasada działania algorytmu 2. Implementacja
3. Wyniki 4. Podsumowanie
3
Zasada działania algorytmu
1. Odkrywanie zbiorów częstych a) Utworzenie FP-drzewa na podstawie skompresowanej bazy danych b) Znalezienie zbiorów częstych w procesie eksploracji FP-drzewa 2. Generacja reguł asocjacyjnych
4
Kompresja bazy danych 1. Znalezienie jednoelementowych zbiorów częstych w bazie danych 2. Usunięcie z każdej transakcji tych elementów, które nie są częste 3. Posortowanie elementów transakcji malejąco wg wsparcia
5
FP-drzewo - ukorzeniony, etykietowany w wierzchołkach graf acykliczny
- korzeń – etykieta „null”, pozostałe wierzchołki to jednoelementowe zbiory częste wraz z licznikiem transakcji - tworzenie: wstawianie kolejnych transakcji ze skompresowanej bazy, przy czym jeśli transakcje współdzielą prefiks, następuje zwiększenie licznika transakcji w węzłach; w przeciwnym wypadku – dodawanie nowych węzłów Licznik transakcji ostatniego wierzchołka danej ścieżki zawiera informacje o liczbie transakcji wspierających zbiór elementów reprezentowanych przez wierzchołki grafu należące do tej ścieżki.
6
Przykład FP-drzewa
7
Eksploracja FP-drzewa
FP-Growth(T, α) { //α = null at beginning if T contains a single path P then { for each combination β of nodes in path P generate pattern β + α with support = min(supports of all the nodes in β); } else { for each ai in the hTable of T { generate pattern β = ai + α with support = sup(ai); construct β's conditional pattern base and use it to build β's conditional FP-tree Treeβ; if Treeβ ≠ ø then FP-Growth(Treeβ, β); Obserwacja: dla każdego jednoelementowego zbioru częstego alfa, wszystkie częste nadzbiory zbioru alfa są reprezentowane w FP-drzewie przez ścieżki zawierające wierzchołek alfa.
8
Generacja reguł for each frequent pattern f with power > 1 {
generate all nonempty and proper subsets of f; for each generated subset s of f { if sup(f) / sup(s) >= minconf output the rule ”s -> (f \ s)” }
9
Środowisko Język Java (JDK 1.6 update 19) Visual VM
10
Implementacja (1) 1. Klasa reprezentująca węzeł FP-drzewa (FPTreeNode): - wartość elementu - licznik transakcji - referencja do węzła – rodzica - lista referencji do węzłów potomnych 2. Mapa reprezentująca tablicę nagłówkową FP-drzewa: - klucz – wartość elementu transakcji - wartość – obiekt klasy HeaderTableRow (support, lista referencji do węzłów reprezentujących ten sam jednoelementowy zbiór częsty w FP-drzewie) - posortowana malejąco wg wsparcia
11
Implementacja (2) 3. Klasa reprezentująca transakcję (Transaction):
- licznik transakcji – przydatny przy konstrukcji warunkowej bazy wzorca i tablicy nagłówkowej warunkowego FP-drzewa; pomaga przy obliczaniu wsparcia dla elementów transakcji w warunkowej bazie wzorca i przy kompresji tej bazy - lista elementów transakcji, po kompresji posortowana malejąco wg wsparcia; jeśli wartości wsparcia są równe, sortowanie ma miejsce wg wartości elementów (mniejsza liczba ścieżej w FP-drzewie)
12
Implementacja (3) 4. Klasa reprezentująca zbiór częsty (FrequentPattern): - wsparcie (przydatne przy obliczaniu wsparcia poprzednika reguły) - lista elementów
13
Pomiar czasu (mushroom)
14
Pomiar zajętości pamięci (mushroom)
15
Podsumowanie - wpływ na szybkość działania całego programu mają operacje wejścia – wyjścia, sama procedura szukania zbiorów częstych działa bardzo krótko - wraz ze wzrostem minimalnego wsparcia maleje czas działania, jak i zajętość pamięci (większy stopień kompresji transakcji, mniej zbiorów częstych) - zwiększenie ścieżki w FP-drzewie zwiększa liczbę generowanych zbiorów częstych - zwiększenie mocy zbioru częstego zwiększa liczbę generowanych reguł
16
Bibliografia 1. „FP-Growth approach for document clustering”, M. Akbar (praca magisterska) 2. „Algorytmy odkrywania binarnych reguł asocjacyjnych” ( wykład 3. przedmiotu „Eksploracja danych”) 3. „FP-tree”, O. Kohonen (wykład)
17
Dziękujemy za uwagę
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.