A-priori Partition Mateusz Mor, Kasper Rzepecki, Daniel Mendalka, Michał Samsonowski
Apriori Pomysły inspirowane artykułami naukowymi, w szczególności: [Implementacja w C rozwijana przez tysiąclecia]
Apriori Optymalizacje: Usunięcie elementów niebędących 1-frequent Usunięcie transakcji pustych Pogrupowanie takich samych transakcji i traktowanie ich jako jednej z większą wagą [ ] [0][0] [ ] [0][0]([0], 3) [0] [0][0] [9] [ ]
Apriori Dla kosarak (supp=0,1): 8 mln => 1,6 mln, => 11 Mushroom (supp=0,5):186 tyś => 76 tyś, 8100 => 57 Accidents (supp=0,5): 11,5 mln=>6mln, =>65000
Apriori Optymalizacje c.d.: Żadnych zbędnych HashSetów itp., wszystko co się da na int[] Dopasowane struktury danych: listy, tablice, itp Elementy przemapowane na 0-based i używane jako indeksy tablic [23, 29, ] => [0, 1, 2]
Apriori Struktura danych: drzewo prefiksowe Propagacja odcięć w górę drzewa Usuwanie transakcji którym nie udało się zmienić drzewa na danym poziomie Pomysły nie zrealizowane: Zrównoleglenie Grupowanie podobnych transakcji
Algorytm Partition: Modyfikacja algorytmu a-priori Przeszukuje Partycje danych które mieszczą się w pamięci Przyspiesza sprawdzanie wsparcia w partycji Wrażliwy na duże ilości zbiorów częstych Powtórne poszukiwanie wsparcia dla znalezionych zbiorów częstych
Zyski z założenia Znaczne przyspieszenie 2 krotne przejrzenie zbioru danych
Koszty z założenia Możliwość przekroczenia dostępnej pamięci i konieczność rozpoczęcia eksperymentu od początku Zwiększone wymaganie pamięciowe
Optymalizacje Wykorzystanie charakteru danych Zastosowanie listy sortowanej z indeksami przy łączeniu zbiorów Ponowne wykorzystanie partycji przy weryfikacji zbiorów częstych Łączenie zbiorów i czyszczenie pamięci w każdej iteracji
Apriori wyniki – czas całkowity[s] Support0,20,30,40,50,60,70,80,9 Accident s ,87,26,66,1 Kosarak6,66,35,75,65,25,1 Mushroom7,60,90,380,3
Apriori wyniki – czas generowania zbiorów częstych[s] / pamięć [MB] Support0,20,30,40,50,60,70,80,9 Accidents , , , , ,8 171 Kosarak , , , , , , ,7 145 Mushroom , , , , , , ,06 180
Partition wyniki – czas całkowity[s] Support0,20,30,40,50,60,70,80,9 Accidents2:4256,1732,0724,29 Kosarak4:23 4:25 Mushroom3,200,900,610,430,410,490,37
Partition wyniki – czas generowania zbiorów częstych[s] / pamięć [MB] Support0,20,30,40,50,60,70,80,9 Accidents2:42, , , ,29 34 Kosarak4: : : : : : : :25 26 Mushroom2, , , , , , ,37 24