Algorytm Apriori: jak to działa? Jak marki mogą wykorzystywać algorytm Apriori?

Opublikowany: 2020-03-26

Wyobraź 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.