logo

Apriori algoritmus

Algoritmus apriori odkazuje na algoritmus, který se používá k výpočtu asociačních pravidel mezi objekty. Znamená to, jak spolu dva nebo více objektů souvisí. Jinými slovy, můžeme říci, že apriorní algoritmus je asociační pravidlo, které analyzuje, že lidé, kteří si koupili produkt A, koupili také produkt B.

Primárním cílem apriorního algoritmu je vytvořit asociační pravidlo mezi různými objekty. Pravidlo asociace popisuje, jak spolu dva nebo více objektů souvisí. Algoritmus Apriori se také nazývá časté dolování vzorů. Obecně platí, že algoritmus Apriori provozujete na databázi, která se skládá z velkého počtu transakcí. Pojďme pochopit apriorní algoritmus pomocí příkladu; předpokládejme, že jdete na Big Bazar a kupujete různé produkty. Pomáhá zákazníkům snadno nakupovat jejich produkty a zvyšuje prodejní výkonnost Velkého bazaru. V tomto tutoriálu probereme apriori algoritmus s příklady.

Úvod

Abychom koncept lépe pochopili, vezmeme si příklad. Určitě jste si všimli, že prodejce pizzerie vyrábí pizzu, nealkoholický nápoj a tyčinku dohromady. Svým zákazníkům, kteří si tato komba koupí, také nabízí slevu. Napadlo vás někdy, proč to dělá? Myslí si, že zákazníci, kteří si kupují pizzu, kupují i ​​nealko a tyčinky. Tím, že vytváří komba, to však zákazníkům usnadňuje. Zároveň také zvyšuje svou prodejní výkonnost.

Podobně půjdete do Velkého bazaru, kde najdete sušenky, hranolky a čokoládu sbalené dohromady. Ukazuje, že obchodník umožňuje zákazníkům nakupovat tyto produkty na stejném místě.

Výše uvedené dva příklady jsou nejlepšími příklady pravidel asociace v

  • Podpěra, podpora
  • Důvěra
  • Výtah
  • Pro pochopení tohoto konceptu si uveďme příklad.

    Již jsme diskutovali výše; potřebujete obrovskou databázi obsahující velký počet transakcí. Předpokládejme, že máte 4000 transakcí zákazníků ve velkém bazaru. Musíte vypočítat Support, Confidence a Lift pro dva produkty a můžete říct Sušenky a Čokoláda. Je to proto, že zákazníci často nakupují tyto dvě položky společně.

    Ze 4000 transakcí obsahuje 400 sušenky, zatímco 600 obsahuje čokoládu a těchto 600 transakcí zahrnuje 200, která zahrnuje sušenky a čokolády. Pomocí těchto dat zjistíme podporu, důvěru a nárůst.

    Podpěra, podpora

    Podpora se vztahuje na výchozí popularitu jakéhokoli produktu. Podporu najdete jako podíl dělení počtu transakcí obsahujících daný produkt celkovým počtem transakcí. Takže dostáváme

    Podpora (sušenky) = (transakce související se sušenkami) / (celkový počet transakcí)

    = 400/4000 = 10 procent.

    Důvěra

    Důvěra se týká možnosti, že zákazníci koupili sušenky i čokoládu společně. Takže musíte vydělit počet transakcí, které zahrnují sušenky i čokolády, celkovým počtem transakcí, abyste získali jistotu.

    Proto,

    C

    Důvěra = (Transakce týkající se sušenek i čokolády) / (Celkový počet transakcí zahrnujících sušenky)

    = 200/400

    = 50 procent.

    Znamená to, že 50 procent zákazníků, kteří si koupili sušenky, si koupilo i čokoládu.

    Výtah

    Zvažte výše uvedený příklad; výtah označuje zvýšení poměru prodeje čokolád, když prodáváte sušenky. Matematické rovnice vztlaku jsou uvedeny níže.

    Lift = (Sebevědomí (Sušenky - čokoláda)/ (Podpora (Sušenky)

    = 50/10 = 5

    To znamená, že pravděpodobnost, že si lidé koupí sušenky i čokoládu dohromady, je pětkrát vyšší než pravděpodobnost, že si koupí sušenky samotné. Pokud je hodnota výtahu nižší než jedna, vyžaduje to, aby lidé pravděpodobně nekoupili obě položky dohromady. Čím větší hodnota, tím lepší je kombinace.

    Jak funguje algoritmus Apriori v dolování dat?

    Tento algoritmus pochopíme na příkladu

    Zvažte scénář Big Bazar, kde je sada produktů P = {rýže, luštěniny, olej, mléko, jablko}. Databáze obsahuje šest transakcí, kde 1 představuje přítomnost produktu a 0 představuje nepřítomnost produktu.

    ID transakce Rýže Puls Olej Mléko Jablko
    t1 1 1 1 0 0
    t2 0 1 1 1 0
    t3 0 0 0 1 1
    t4 1 1 0 1 0
    t5 1 1 1 0 1
    t6 1 1 1 1 1

    Algoritmus Apriori vytváří dané předpoklady

    • Všechny podmnožiny častých položek musí být časté.
    • Podmnožiny vzácné sady položek musí být vzácné.
    • Opravte prahovou úroveň podpory. V našem případě jsme to zafixovali na 50 procent.

    Krok 1

    Vytvořte frekvenční tabulku všech produktů, které se objevují ve všech transakcích. Nyní zkraťte tabulku frekvencí a přidejte pouze produkty s prahovou úrovní podpory nad 50 procent. Najdeme danou frekvenční tabulku.

    Produkt Frekvence (počet transakcí)
    rýže (R) 4
    Puls (P) 5
    olej (O) 4
    mléko (M) 4

    Výše uvedená tabulka uvádí produkty, které zákazníci často kupují.

    Krok 2

    Vytvořte dvojice produktů jako RP, RO, RM, PO, PM, OM. Získáte danou frekvenční tabulku.

    Sada položek Frekvence (počet transakcí)
    RP 4
    RO 3
    RM 2
    PO 4
    ODPOLEDNE 3
    O 2

    Krok 3

    Zavedení stejné prahové podpory 50 procent a zvážit produkty, které jsou více než 50 procent. V našem případě je to více než 3

    Získáme tedy RP, RO, PO a PM

    Krok 4

    Nyní vyhledejte sadu tří produktů, které zákazníci nakupují společně. Dostaneme danou kombinaci.

    1. RP a RO dávají RPO
    2. PO a PM dávají POM

    Krok 5

    Vypočítejte četnost dvou sad položek a dostanete danou tabulku četností.

    Sada položek Frekvence (počet transakcí)
    RPO 4
    POM 3

    Pokud implementujete předpoklad prahu, můžete zjistit, že sada tří produktů zákazníků je RPO.

    Zvažovali jsme snadný příklad k diskusi o apriori algoritmu v dolování dat. Ve skutečnosti takových kombinací najdete tisíce.

    Jak zlepšit efektivitu Apriori algoritmu?

    Pro efektivitu Apriori algoritmu se používají různé metody

    Počítání množin položek na bázi hash

    Při počítání sad položek na bázi hash je třeba vyloučit sadu k-itemset, jejíž ekvivalentní počet segmentů hash je menší než prahová hodnota, což je málo častá sada položek.

    Snížení transakcí

    Java generuje náhodné číslo

    Při redukci transakcí se transakce, která nezahrnuje žádnou častou sadu X položek, stane nehodnotnou v následujících skenech.

    Apriori algoritmus v dolování dat

    Již jsme diskutovali o příkladu apriorního algoritmu souvisejícího s generováním častých množin položek. Algoritmus Apriori má mnoho aplikací v dolování dat.

    Primární požadavky na nalezení asociačních pravidel v data miningu jsou uvedeny níže.

    Použijte hrubou sílu

    Analyzujte všechna pravidla a najděte podporu a úrovně spolehlivosti pro jednotlivá pravidla. Poté odstraňte hodnoty, které jsou nižší než prahová podpora a úrovně spolehlivosti.

    Dvoustupňové přístupy

    Dvoustupňový přístup je lepší možností pro nalezení asociačních pravidel než metoda Brute Force.

    Krok 1

    V tomto článku jsme již diskutovali o tom, jak vytvořit frekvenční tabulku a vypočítat sady položek, které mají vyšší hodnotu podpory než prahová podpora.

    Krok 2

    Chcete-li vytvořit pravidla přidružení, musíte použít binární oddíl častých sad položek. Musíte vybrat ty, které mají nejvyšší úroveň spolehlivosti.

    Ve výše uvedeném příkladu můžete vidět, že kombinace RPO byla častou sadou položek. Nyní zjistíme všechna pravidla pomocí RPO.

    RP-O, RO-P, PO-R, O-RP, P-RO, R-PO

    Můžete vidět, že existuje šest různých kombinací. Pokud tedy máte n prvků, budou 2n- 2 pravidla sdružení kandidátů.

    Výhody Apriori algoritmu

    • Používá se k výpočtu velkých množin položek.
    • Jednoduché na pochopení a aplikaci.

    Nevýhody Apriori algoritmů

    • Algoritmus Apriori je nákladná metoda pro nalezení podpory, protože výpočet musí projít celou databází.
    • Někdy potřebujete velké množství kandidátských pravidel, takže je to výpočetně dražší.