Algorytm Apriori: jak to działa? Jak marki mogą wykorzystywać algorytm Apriori?
Opublikowany: 2020-03-26Wyobraź sobie, że jesteś w supermarkecie i myślisz o rzeczach, które chciałeś kupić. Ale w końcu kupujesz o wiele więcej, niż powinieneś. Nazywa się to kupowaniem impulsywnym, a marki wykorzystują algorytm apriori, aby wykorzystać to zjawisko. Kliknij, aby dowiedzieć się więcej, jeśli chcesz dowiedzieć się więcej o algorytmach analizy danych.
Co to za algorytm? A jak to działa? Odpowiedzi na te pytania znajdziesz w tym artykule. Najpierw przyjrzymy się, czym jest ten algorytm, a następnie jak działa.
Zaczynajmy.
Spis treści
Co to jest algorytm Apriori?
Algorytm apriori zapewnia częste zestawy przedmiotów. Jej podstawą jest właściwość apriori, którą możemy wyjaśnić w następujący sposób:
Załóżmy, że posiadany zestaw przedmiotów ma wartość wsparcia mniejszą niż wymagana wartość wsparcia. Wówczas podzbiory tego zestawu pozycji miałyby również mniejszą wartość wsparcia niż wymagana. Dzięki temu nie uwzględnisz ich w obliczeniach, dzięki czemu zaoszczędzisz dużo miejsca.
Wartość wsparcia odnosi się do liczby wystąpień określonego zestawu pozycji w transakcjach. Algorytm apriori jest dość popularny ze względu na jego zastosowanie w systemach rekomendacji. Ogólnie rzecz biorąc, zastosujesz ten algorytm do transakcyjnych baz danych, czyli bazy danych transakcji. Istnieje również wiele rzeczywistych zastosowań tego algorytmu. Powinieneś także zapoznać się z Association Rule Mining , aby poprawnie zrozumieć algorytm apriori.
Przeczytaj także: Warunek wstępny dla nauki o danych. Jak to się zmienia w czasie?
Jak działa algorytm Apriori?
Algorytm apriori generuje reguły asocjacji przy użyciu częstych zestawów elementów. Jego zasada jest prosta – podzbiór częstego zestawu przedmiotów byłby również częstym zestawem przedmiotów. Zestaw elementów, który ma wartość wsparcia większą niż wartość progowa, jest częstym zestawem elementów. Rozważ następujące dane:
TID | Przedmiotów |
T1 | 1 3 4 |
T2 | 2 3 5 |
T3 | 1 2 3 5 |
T4 | 2 5 |
T5 | 1 3 5 |
W pierwszej iteracji załóżmy, że wartość podparcia wynosi dwa i utwórz zestawy przedmiotów o rozmiarze 1. Teraz oblicz odpowiednio ich wartości podparcia. Odrzucilibyśmy przedmiot, który miałby wartość wsparcia niższą niż minimalna. W tym przykładzie byłby to element numer cztery.
C1 (wynik pierwszej iteracji)
Zestaw przedmiotów | Wsparcie |
{1} | 3 |
{2} | 3 |
{3} | 4 |
{4} | 1 |
{5} | 4 |
F1 (po odrzuceniu {4})
Zestaw przedmiotów | Wsparcie |
{1} | 3 |
{2} | 3 |
{3} | 4 |
{5} | 4 |
W drugiej iteracji zachowamy rozmiar dwóch zestawów przedmiotów, a następnie obliczymy wartości wsparcia. W tej iteracji użyjemy wszystkich kombinacji tabeli F1. Usuniemy wszystkie zestawy przedmiotów, które miałyby wartości wsparcia mniejsze niż dwa.
C2 (Ma tylko elementy obecne w F1)
Zestaw przedmiotów | Wsparcie |
{1,2} | 1 |
{1,3} | 3 |
{1,5} | 2 |
{2,3} | 2 |
{2,5} | 3 |
{3,5} | 3 |
F2 (Po usunięciu przedmiotów, które mają wartości wsparcia mniejsze niż 2)
Zestaw przedmiotów | Wsparcie |
{1,3} | 3 |
{1,5} | 2 |
{2,3} | 2 |
{2,5} | 3 |
{3,5} | 3 |
Teraz wykonamy przycinanie. W takim przypadku podzielimy zbiory elementów C3 na podzbiory i usuniemy te, które mają wartość wsparcia mniejszą niż dwa.

C3 (Po wykonaniu przycinania)
Zestaw przedmiotów | W F2? |
{1,2,3}, {1,2}, {1,3}, {2,3} | NIE |
{1,2,5}, {1,2}, {1,5}, {2,5} | NIE |
{1,3,5}, {1,5}, {1,3}, {3,5} | TAK |
{2,3,5}, {2,3}, {2,5}, {3,5} | TAK |
W trzeciej iteracji odrzucimy {1,2,5} i {1,2,3}, ponieważ oba mają {1,2}. To jest główny wpływ algorytmu apriori.
F3 (po odrzuceniu {1,2,5} i {1,2,3})
Zestaw przedmiotów | Wsparcie |
{1,3,5} | 2 |
{2,3,5} | 2 |
W czwartej iteracji użyjemy zbiorów F3 do stworzenia C4. jednak, ponieważ wartość wsparcia C4 jest mniejsza niż 2, nie kontynuowalibyśmy, a końcowy zestaw przedmiotów to F3.
C3
Zestaw przedmiotów | Wsparcie |
{1,2,3,5} | 1 |
Mamy następujące zestawy przedmiotów z F3:
Dla I = {1,3,5}, mamy podzbiory {5}, {3}, {1}, {3,5}, {1,5}, {1,3}
Dla I = {2,3,5}, mamy podzbiory {5}, {3}, {2}, {3,5}, {2,5}, {2,3}
Teraz utworzymy i zastosujemy reguły dla zestawu przedmiotów F3. W tym celu przyjmiemy, że minimalna wartość ufności wynosi obecnie 60%. Dla podzbiorów S z I, oto reguła, którą wyprowadzamy:
- S -> (I,S) (oznacza to, że S zaleca IS)
- Jeśli support(I) / support(S) >= wartość min_conf
Zróbmy to dla pierwszego podzbioru, który mamy, tj. {1,3,5}
Zasada nr 1: {1,3} -> ({1,3,5} – {1,3}) to oznacza 1 i 3-> 5
Wartość ufności = wartość wsparcia (1,3,5) / wartość wsparcia (1,3) = ⅔ = 66,66%
Ponieważ wynik jest wyższy niż 60%, wybieramy Zasadę nr 1.
Zasada nr 2: {1,5} -> {(1,3,5) – {1,5}) to oznacza 1 i 5 -> 3
Wartość ufności = wartość wsparcia (1,3,5) / wartość wsparcia (1,5) = 2/2 = 100%
Ponieważ wynik jest wyższy niż 60%, wybieramy Zasadę nr 2.
Zasada nr 3: {3} -> ({1,3,5} – {3}) oznacza to 3 -> 1 i 5
Wartość ufności = wartość wsparcia (1,3,5) / wartość wsparcia (3) = 2/4 = 50%
Ponieważ wynik jest niższy niż 60%, odrzucamy Zasadę nr 3.
Zarabiaj kursy nauki o danych na najlepszych światowych uniwersytetach. Dołącz do naszych programów Executive PG, Advanced Certificate Programs lub Masters, aby przyspieszyć swoją karierę.
W powyższym przykładzie możesz zobaczyć, jak algorytm Apriori tworzy i stosuje reguły. Możesz wykonać te kroki dla drugiego zestawu przedmiotów ({2,3,5}), który mamy. Wypróbowanie tego z pewnością da ci wspaniałe doświadczenie w zrozumieniu, jakie zasady algorytm akceptuje, a które odrzuca. Algorytm pozostaje taki sam w innych miejscach, takich jak algorytm Apriori Python.
Wniosek
Po przeczytaniu tego artykułu jesteśmy pewni, że dobrze znasz ten algorytm i jego zastosowanie. Ze względu na zastosowanie w systemach rekomendacji stał się również dość popularny.
Czy istnieje bardziej wydajny algorytm niż algorytm Apriori?
Algorytm ECLAT (Equivalence Class Clustering and bottom-up Lattice Traversal) okazuje się być dość przydatnym i popularnym algorytmem do eksploracji reguł asocjacyjnych. Ponadto wiadomo, że jest bardziej wydajnym i szybszym algorytmem w porównaniu z algorytmem Apriori.
Algorytm Apriori działa w sposób poziomy, imitując wyszukiwanie wykresu wszerz, podczas gdy algorytm ECLAT działa w sposób pionowy, imitując wyszukiwanie wykresu w głąb. To pionowe podejście jest przyczyną większej szybkości i lepszej wydajności algorytmu ECLAT w porównaniu z algorytmem Apriori.
Algorytm apriori jest przydatny w jakim celu?
Algorytm Apriori to klasyczny algorytm szeroko stosowany w eksploracji danych. Jest to naprawdę przydatne do wyszukiwania odpowiednich reguł asocjacyjnych, a także częstych zestawów przedmiotów z dostępnej bazy danych. Zazwyczaj algorytm ten jest wykorzystywany przez organizacje, które muszą obsługiwać bazę danych składającą się z wielu transakcji. Na przykład algorytm apriori ułatwia określenie przedmiotów, które klienci często kupują w Twoim sklepie. Za pomocą tego algorytmu można znacznie poprawić sprzedaż na rynku.
Poza tym algorytm ten jest również wykorzystywany w sektorze opieki zdrowotnej do wykrywania niepożądanych reakcji na leki. Algorytm tworzy reguły asocjacyjne w celu określenia wszystkich kombinacji cech pacjenta i leków, które mogą prowadzić do niepożądanych reakcji na lek.
Jakie są zalety i wady algorytmu Apriori?
Algorytm Apriori jest dość łatwy do zaimplementowania, zrozumienia i może być bardzo efektywnie używany w dużych zestawach elementów. Czasami może istnieć potrzeba znalezienia dużej liczby reguł kandydujących, a proces ten może być nieco kosztowny obliczeniowo. Ponieważ musi przejść przez całą bazę danych, kosztowna jest również kalkulacja wsparcia.