frequent pattern growth algorithm data mining
Szczegółowy samouczek dotyczący algorytmu częstego wzrostu wzorców, który reprezentuje bazę danych w postaci drzewa FP. Obejmuje porównanie wzrostu PR z porównaniem Apriori:
Algorytm Apriori zostało szczegółowo wyjaśnione w naszym poprzednim samouczku. W tym samouczku dowiemy się o częstym wzroście wzorców - wzrost FP to metoda wydobywania częstych zestawów elementów.
podwójnie połączona lista w kodzie źródłowym C ++
Jak wszyscy wiemy, Apriori to algorytm do częstego eksploracji wzorców, który koncentruje się na generowaniu zestawów przedmiotów i odkrywaniu najczęstszych zestawów elementów. Znacznie zmniejsza rozmiar zestawu pozycji w bazie danych, jednak Apriori ma również swoje wady.
Przeczytaj nasze Cała seria szkoleń dotyczących eksploracji danych za pełną znajomość koncepcji.
Czego się nauczysz:
- Wady algorytmu Apriori
- Algorytm częstego wzrostu wzorców
- Drzewo FP
- Częste kroki algorytmu wzorcowego
- Przykład algorytmu wzrostu FP
- Zalety algorytmu wzrostu FP
- Wady algorytmu wzrostu FP
- Wzrost FP vs Apriori
- BLASK
- Wniosek
- rekomendowane lektury
Wady algorytmu Apriori
- Korzystanie z Apriori wymaga wygenerowania zestawów pozycji kandydatów. Te zestawy elementów mogą być liczne, jeśli zestaw elementów w bazie danych jest ogromny.
- Apriori wymaga wielu skanów bazy danych, aby sprawdzić obsługę każdego wygenerowanego zestawu elementów, co prowadzi do wysokich kosztów.
Te niedociągnięcia można przezwyciężyć za pomocą algorytmu wzrostu FP.
Algorytm częstego wzrostu wzorców
Ten algorytm jest ulepszeniem metody Apriori. Generowany jest częsty wzorzec bez konieczności generowania kandydatów. Algorytm wzrostu FP przedstawia bazę danych w postaci drzewa zwanego częstym drzewem wzorców lub drzewem FP.
Ta struktura drzewa zachowa powiązanie między zestawami elementów. Baza danych jest podzielona na jeden częsty element. Ta fragmentaryczna część nazywana jest „fragmentem wzoru”. Analizowane są zestawy elementów tych fragmentarycznych wzorów. Tak więc w przypadku tej metody wyszukiwanie częstych zestawów przedmiotów jest stosunkowo ograniczone.
Drzewo FP
Drzewo częstych wzorców to struktura podobna do drzewa tworzona na podstawie początkowych zestawów elementów bazy danych. Celem drzewa FP jest wydobycie najczęstszego wzoru. Każdy węzeł drzewa FP reprezentuje element zestawu elementów.
Węzeł główny reprezentuje null, podczas gdy dolne węzły reprezentują zestawy elementów. Powiązanie węzłów z niższymi węzłami, czyli zestawami elementów z innymi zestawami elementów, jest zachowywane podczas tworzenia drzewa.
Częste kroki algorytmu wzorcowego
Metoda częstego wzrostu wzorców pozwala nam znaleźć częsty wzorzec bez generowania kandydatów.
Zobaczmy kroki, które należy wykonać, aby wydobyć częsty wzór przy użyciu algorytmu częstego wzrostu wzoru:
# 1) Pierwszym krokiem jest przeskanowanie bazy danych w celu znalezienia wystąpień zestawów elementów w bazie danych. Ten krok jest taki sam, jak pierwszy krok Apriori. Liczba zestawów 1 pozycji w bazie danych jest nazywana liczbą wsparcia lub częstotliwością zestawu 1 pozycji.
#dwa) Drugim krokiem jest skonstruowanie drzewa FP. W tym celu utwórz korzeń drzewa. Korzeń jest reprezentowany przez null.
# 3) Następnym krokiem jest ponowne przeskanowanie bazy danych i sprawdzenie transakcji. Zbadaj pierwszą transakcję i znajdź w niej zestaw przedmiotów. Zestaw przedmiotów z maksymalną liczbą jest brany na górze, następny zestaw przedmiotów z mniejszą liczbą i tak dalej. Oznacza to, że gałąź drzewa jest zbudowana z zestawów pozycji transakcji w malejącej kolejności liczenia.
# 4) Następna transakcja w bazie danych jest sprawdzana. Zestawy elementów są uporządkowane malejąco według liczebności. Jeśli jakikolwiek zestaw pozycji tej transakcji jest już obecny w innej gałęzi (na przykład w pierwszej transakcji), to ta gałąź transakcji będzie miała wspólny prefiks do katalogu głównego.
Oznacza to, że wspólny zestaw elementów jest połączony z nowym węzłem innego zestawu elementów w tej transakcji.
# 5) Ponadto liczba pozycji zestawu jest zwiększana, gdy występuje w transakcjach. Zarówno liczba wspólnych węzłów, jak i liczba nowych węzłów są zwiększane o 1 w miarę ich tworzenia i łączenia zgodnie z transakcjami.
# 6) Następnym krokiem jest wydobycie utworzonego drzewa FP. W tym celu najniższy węzeł jest badany jako pierwszy wraz z łączami najniższych węzłów. Najniższy węzeł reprezentuje długość wzorca częstotliwości 1. Następnie przejdź ścieżką w drzewie FP. Ta ścieżka lub ścieżki są nazywane warunkową podstawą szyku.
Warunkowa baza wzorców to sub-baza danych składająca się ze ścieżek przedrostków w drzewie FP występujących w najniższym węźle (sufiksie).
# 7) Skonstruuj warunkowe drzewo FP, które jest tworzone przez liczbę zestawów elementów w ścieżce. Zestawy przedmiotów spełniające wymagania progowe są uwzględniane w warunkowym drzewie PR.
# 8) Częste wzorce są generowane z warunkowego drzewa FP.
Przykład algorytmu wzrostu FP
Próg wsparcia = 50%, zaufanie = 60%
narzędzie do skanowania i naprawy komputera z systemem Windows 10
Tabela 1
Transakcja | Lista rzeczy |
---|---|
Zużycie pamięci | |
T1 | I1, I2, I3 |
T2 | I2, I3, I4 |
T3 | I4, I5 |
T4 | I1, I2, I4 |
T5 | I1, I2, I3, I5 |
T6 | I1, I2, I3, I4 |
Rozwiązanie:
Próg wsparcia = 50% => 0,5 * 6 = 3 => min_sup = 3
1. Liczba każdej pozycji
Tabela 2
Pozycja | Liczyć |
---|---|
I1 | 4 |
I2 | 5 |
I3 | 4 |
I4 | 4 |
I5 | dwa |
2. Posortuj zestaw pozycji w porządku malejącym.
Tabela 3
Pozycja | Liczyć |
---|---|
I2 | 5 |
I1 | 4 |
I3 | 4 |
I4 | 4 |
3. Zbuduj drzewo FP
- Biorąc pod uwagę zerowy węzeł główny.
- Pierwszy skan transakcji T1: I1, I2, I3 zawiera trzy elementy {I1: 1}, {I2: 1}, {I3: 1}, gdzie I2 jest połączone jako dziecko z rootem, I1 jest połączone z I2 i I3 jest powiązany z I1.
- T2: I2, I3, I4 zawiera I2, I3 i I4, gdzie I2 jest połączone z rootem, I3 jest połączone z I2, a I4 jest połączone z I3. Ale ta gałąź będzie współdzielić węzeł I2 tak często, jak jest już używany w T1.
- Zwiększ liczbę I2 o 1, a I3 jest połączone jako dziecko z I2, I4 jest połączone jako dziecko z I3. Liczba to {I2: 2}, {I3: 1}, {I4: 1}.
- T3: I4, I5. Podobnie, nowa gałąź z I5 jest połączona z I4, gdy tworzone jest dziecko.
- T4: I1, I2, I4. Sekwencja będzie miała postać I2, I1 i I4. I2 jest już połączone z węzłem głównym, dlatego będzie zwiększane o 1. Podobnie I1 będzie zwiększane o 1, ponieważ jest już połączone z I2 w T1, a zatem {I2: 3}, {I1: 2}, {I4: 1}.
- T5: I1, I2, I3, I5. Sekwencja będzie miała postać I2, I1, I3 i I5. A zatem {I2: 4}, {I1: 3}, {I3: 2}, {I5: 1}.
- T6: I1, I2, I3, I4. Sekwencja będzie miała postać I2, I1, I3 i I4. Zatem {I2: 5}, {I1: 4}, {I3: 3}, {I4 1}.
4. Wydobywanie drzewa FP podsumowano poniżej:
- Najniższy element węzła I5 nie jest brany pod uwagę, ponieważ nie ma minimalnej liczby podparć, dlatego jest usuwany.
- Następny niższy węzeł to I4. I4 występuje w 2 gałęziach, {I2, I1, I3:, I41}, {I2, I3, I4: 1}. Dlatego biorąc pod uwagę I4 jako przyrostek, ścieżki prefiksów będą miały postać {I2, I1, I3: 1}, {I2, I3: 1}. Tworzy to warunkową podstawę wzorca.
- Podstawa wzorca warunkowego jest traktowana jako baza danych transakcji, konstruowane jest drzewo FP. Będzie zawierać {I2: 2, I3: 2}, I1 nie jest brane pod uwagę, ponieważ nie spełnia minimalnej liczby wsparcia.
- Ta ścieżka wygeneruje wszystkie kombinacje częstych wzorców: {I2, I4: 2}, {I3, I4: 2}, {I2, I3, I4: 2}
- Dla I3, ścieżka prefiksu będzie wyglądać następująco: {I2, I1: 3}, {I2: 1}, to wygeneruje 2-węzłowe drzewo FP: {I2: 4, I1: 3} i generowane są częste wzorce: {I2 , I3: 4}, {I1: I3: 3}, {I2, I1, I3: 3}.
- Dla I1 ścieżka prefiksu będzie wyglądać następująco: {I2: 4} to wygeneruje pojedyncze drzewo FP: {I2: 4} i generowane są częste wzorce: {I2, I1: 4}.
Pozycja | Warunkowa podstawa wzoru | Warunkowe drzewo FP | Generowanie częstych wzorców |
---|---|---|---|
I4 | {I2, I1, I3: 1}, {I2, I3: 1} | {I2: 2, I3: 2} | {I2, I4: 2}, {I3, I4: 2}, {I2, I3, I4: 2} |
I3 | {I2, I1: 3}, {I2: 1} | {I2: 4, I1: 3} | {I2, I3: 4}, {I1: I3: 3}, {I2, I1, I3: 3} |
I1 | {I2: 4} | {I2: 4} | {I2, I1: 4} |
Poniższy diagram przedstawia warunkowe drzewo FP powiązane z węzłem warunkowym I3.
Zalety algorytmu wzrostu FP
- Ten algorytm musi skanować bazę danych tylko dwa razy w porównaniu do metody Apriori, która skanuje transakcje dla każdej iteracji.
- W tym algorytmie nie odbywa się parowanie elementów, co przyspiesza.
- Baza danych jest przechowywana w kompaktowej wersji w pamięci.
- Jest wydajna i skalowalna do wydobywania zarówno długich, jak i krótkich częstych wzorców.
Wady algorytmu wzrostu FP
- Drzewo FP jest bardziej nieporęczne i trudniejsze do zbudowania niż Apriori.
- To może być kosztowne.
- Gdy baza danych jest duża, algorytm może nie zmieścić się w pamięci współdzielonej.
Wzrost FP vs Apriori
Wzrost FP | Apriori |
---|---|
Generowanie wzorców | |
Wzrost FP generuje wzorzec, konstruując drzewo FP | Apriori generuje wzór, łącząc elementy w pojedyncze, pary i trojaczki. |
Pokolenie kandydatów | |
Nie ma pokolenia kandydatów | Apriori używa generowania kandydatów |
Proces | |
Proces jest szybszy w porównaniu do Apriori. Czas działania procesu rośnie liniowo wraz ze wzrostem liczby zestawów elementów. | Proces jest stosunkowo wolniejszy niż wzrost FP, czas wykonywania rośnie wykładniczo wraz ze wzrostem liczby zestawów elementów |
Zapisywana jest kompaktowa wersja bazy danych | Kombinacje kandydatów są zapisywane w pamięci |
BLASK
Powyższa metoda, wzrost Apriori i FP, pozwala eksplorować częste zestawy elementów przy użyciu poziomego formatu danych. ECLAT to metoda eksploracji częstych zbiorów pozycji przy użyciu pionowego formatu danych. Przekształci dane w formacie poziomym w format pionowy.
Na przykład,Zastosowanie Apriori i FP:
Transakcja | Lista rzeczy |
---|---|
T1 | I1, I2, I3 |
T2 | I2, I3, I4 |
T3 | I4, I5 |
T4 | I1, I2, I4 |
T5 | I1, I2, I3, I5 |
T6 | I1, I2, I3, I4 |
Tabela ECLAT będzie miała format:
Pozycja | Zestaw transakcji |
---|---|
I1 | {T1, T4, T5, T6} |
I2 | {T1, T2, T4, T5, T6} |
I3 | {T1, T2, T5, T6} |
I4 | {T2, T3, T4, T5} |
I5 | {T3, T5} |
Ta metoda utworzy zestawy 2 elementów, 3 zestawy elementów, k zestawów elementów w pionowym formacie danych. Ten proces z k jest zwiększany o 1, dopóki nie zostaną znalezione żadne zestawy pozycji kandydatów. Niektóre techniki optymalizacji, takie jak diffset, są używane wraz z Apriori.
Ta metoda ma przewagę nad Apriori, ponieważ nie wymaga skanowania bazy danych w celu znalezienia wsparcia dla k + 1 zestawów elementów. Dzieje się tak, ponieważ zbiór transakcji będzie zawierał liczbę wystąpień każdej pozycji w transakcji (wsparcie). Wąskie gardło pojawia się, gdy wiele transakcji wymaga dużej pamięci i czasu obliczeniowego na przecięcie zbiorów.
najlepszy sposób na konwersję filmów z YouTube na mp3
Wniosek
Algorytm Apriori jest używany do reguł asocjacji wyszukiwania. Działa na zasadzie: „niepuste podzbiory zbiorów częstych również muszą być częste”. Tworzy kandydatów na k-itemset z (k-1) itemsets i skanuje bazę danych w celu znalezienia częstych zestawów elementów.
Algorytm częstego wzrostu wzorców to metoda znajdowania częstych wzorców bez generowania kandydatów. Konstruuje drzewo FP zamiast używać strategii generowania i testowania Apriori. Głównym celem algorytmu wzrostu FP jest fragmentacja ścieżek elementów i eksploracja częstych wzorców.
Mamy nadzieję, że te samouczki z serii Data Mining wzbogaciły Twoją wiedzę o Data Mining !!
POPRZEDNIA samouczek | PIERWSZY samouczek
rekomendowane lektury
- Techniki eksploracji danych: algorytm, metody i najlepsze narzędzia eksploracji danych
- Algorytm Apriori w eksploracji danych: implementacja z przykładami
- Przykłady algorytmów drzew decyzyjnych w eksploracji danych
- Przykłady eksploracji danych: najczęstsze zastosowania eksploracji danych 2021
- Eksploracja danych: proces, techniki i główne problemy w analizie danych
- Proces wyszukiwania danych: modele, etapy procesu i związane z nim wyzwania
- Wzór pytań egzaminacyjnych do egzaminów certyfikacyjnych CSTE
- Wydobywanie danych kontra uczenie maszynowe, sztuczna inteligencja kontra uczenie głębokie