logo

Apriori algoritme

Apriori-algoritme refererer til den algoritme, som bruges til at beregne associeringsreglerne mellem objekter. Det betyder, hvordan to eller flere objekter er relateret til hinanden. Med andre ord kan vi sige, at apriori-algoritmen er en associationsregel, som analyserer, at folk, der har købt produkt A, også har købt produkt B.

Det primære formål med apriori-algoritmen er at skabe associationsreglen mellem forskellige objekter. Associationsreglen beskriver, hvordan to eller flere objekter er relateret til hinanden. Apriori-algoritmen kaldes også hyppig mønstermining. Generelt bruger du Apriori-algoritmen på en database, der består af et stort antal transaktioner. Lad os forstå apriori-algoritmen ved hjælp af et eksempel; antag, at du går til Big Bazar og køber forskellige produkter. Det hjælper kunderne med at købe deres produkter med lethed og øger salgsydelsen på Big Bazar. I denne tutorial vil vi diskutere apriori-algoritmen med eksempler.

Introduktion

Vi tager et eksempel for at forstå konceptet bedre. Du må have bemærket, at pizzabutikkens sælger laver en kombination af pizza, sodavand og brødstænger. Han tilbyder også en rabat til deres kunder, der køber disse kombinationer. Tænker du nogensinde på, hvorfor han gør det? Han mener, at kunder, der køber pizza, også køber sodavand og brødstænger. Ved at lave kombinationer gør han det dog nemt for kunderne. Samtidig øger han også sin salgspræstation.

På samme måde går du til Big Bazar, og du vil finde kiks, chips og chokolade bundtet sammen. Det viser, at butiksejeren gør det behageligt for kunderne at købe disse produkter samme sted.

Ovenstående to eksempler er de bedste eksempler på foreningsregler i

  • Support
  • Tillid
  • Løfte op
  • Lad os tage et eksempel for at forstå dette koncept.

    Vi har allerede diskuteret ovenfor; du har brug for en enorm database, der indeholder et stort antal transaktioner. Antag, at du har 4000 kundetransaktioner i en Big Bazar. Du skal beregne støtte, tillid og løft for to produkter, og du kan sige kiks og chokolade. Dette skyldes, at kunder ofte køber disse to varer sammen.

    Ud af 4000 transaktioner indeholder 400 kiks, mens 600 indeholder chokolade, og disse 600 transaktioner inkluderer 200, der inkluderer kiks og chokolade. Ved at bruge disse data finder vi ud af støtten, tilliden og løftet.

    Support

    Support refererer til standardpopulariteten for ethvert produkt. Du finder støtten som en kvotient af divideringen af ​​antallet af transaktioner, der omfatter det pågældende produkt, med det samlede antal transaktioner. Derfor får vi

    Support (Kiks) = (Transaktioner vedrørende kiks) / (Samlede transaktioner)

    = 400/4000 = 10 procent.

    Tillid

    Tillid refererer til muligheden for, at kunderne købte både kiks og chokolade sammen. Så du skal dividere antallet af transaktioner, der omfatter både kiks og chokolade, med det samlede antal transaktioner for at få tilliden.

    Derfor,

    Tillid = (Transaktioner vedrørende både kiks og chokolade) / (Samlede transaktioner, der involverer kiks)

    = 200/400

    = 50 procent.

    Det betyder, at 50 procent af de kunder, der købte kiks, også købte chokolade.

    Løfte op

    Overvej ovenstående eksempel; løft refererer til stigningen i forholdet mellem salget af chokolade, når du sælger kiks. De matematiske ligninger for løft er givet nedenfor.

    Lift = (Stillid (Kiks - chokolade)/ (Support (Kiks)

    = 50/10 = 5

    Det betyder, at sandsynligheden for, at folk køber både kiks og chokolade sammen, er fem gange større end for at købe kiksene alene. Hvis løfteværdien er under én, kræver det, at personerne sandsynligvis ikke køber begge varer sammen. Større værdi, jo bedre er kombinationen.

    Hvordan fungerer Apriori-algoritmen i Data Mining?

    Vi vil forstå denne algoritme ved hjælp af et eksempel

    Overvej et Big Bazar-scenarie, hvor produktsættet er P = {Ris, Pulse, Oil, Milk, Apple}. Databasen omfatter seks transaktioner, hvor 1 repræsenterer produktets tilstedeværelse og 0 repræsenterer fraværet af produktet.

    Transaktions ID Ris Puls Olie Mælk Æble
    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

    Apriori-algoritmen gør de givne antagelser

    • Alle delmængder af et hyppigt elementsæt skal være hyppige.
    • Delmængderne af et sjældent varesæt skal være sjældne.
    • Ret et tærskelstøtteniveau. I vores tilfælde har vi fastsat det til 50 pct.

    Trin 1

    Lav en frekvenstabel over alle de produkter, der optræder i alle transaktionerne. Forkort nu frekvenstabellen for kun at tilføje de produkter med et supportniveau på over 50 procent. Vi finder den givne frekvenstabel.

    Produkt Hyppighed (antal transaktioner)
    Ris (R) 4
    Puls (P) 5
    Olie (O) 4
    Mælk (M) 4

    Ovenstående tabel viste de produkter, som kunderne ofte køber.

    Trin 2

    Opret produktpar såsom RP, RO, RM, PO, PM, OM. Du får den givne frekvenstabel.

    Varesæt Hyppighed (antal transaktioner)
    RP 4
    RO 3
    RM 2
    EFTER 4
    OM EFTERMIDDAGEN 3
    OM 2

    Trin 3

    Implementering af den samme tærskelstøtte på 50 procent og overvej de produkter, der er mere end 50 procent. I vores tilfælde er det mere end 3

    Således får vi RP, RO, PO og PM

    sqrt java matematik

    Trin 4

    Se nu efter et sæt med tre produkter, som kunderne køber sammen. Vi får den givne kombination.

    1. RP og RO giver RPO
    2. PO og PM giver POM

    Trin 5

    Beregn frekvensen af ​​de to emnesæt, og du får den givne frekvenstabel.

    Varesæt Hyppighed (antal transaktioner)
    RPO 4
    POM 3

    Hvis du implementerer tærskelantagelsen, kan du regne ud, at kundernes sæt af tre produkter er RPO.

    Vi har overvejet et let eksempel til at diskutere apriori-algoritmen i data mining. I virkeligheden finder du tusindvis af sådanne kombinationer.

    Hvordan forbedres effektiviteten af ​​Apriori-algoritmen?

    Der er forskellige metoder, der anvendes til effektiviteten af ​​Apriori-algoritmen

    Hash-baseret optælling af varesæt

    I hash-baseret varesætoptælling skal du ekskludere k-varesættet, hvis tilsvarende hashing-bucket-antal er mindst end tærsklen er et sjældent varesæt.

    Transaktionsreduktion

    Ved transaktionsreduktion bliver en transaktion, der ikke involverer et hyppigt X-varesæt, ikke værdifuld i efterfølgende scanninger.

    Apriori-algoritme i data mining

    Vi har allerede diskuteret et eksempel på apriori-algoritmen relateret til den hyppige itemset-generering. Apriori-algoritmen har mange applikationer inden for data mining.

    De primære krav for at finde foreningsreglerne i data mining er angivet nedenfor.

    Brug Brute Force

    Analyser alle reglerne og find støtte- og tillidsniveauet for den enkelte regel. Fjern derefter de værdier, der er mindre end tærskelstøtte- og konfidensniveauerne.

    De to-trins tilgange

    To-trins tilgangen er en bedre mulighed for at finde foreningens regler end Brute Force-metoden.

    Trin 1

    I denne artikel har vi allerede diskuteret, hvordan man opretter frekvenstabellen og beregner varesæt med en større støtteværdi end tærskelstøtten.

    Trin 2

    For at oprette tilknytningsregler skal du bruge en binær partition af de hyppige elementsæt. Du skal vælge dem, der har det højeste konfidensniveau.

    I ovenstående eksempel kan du se, at RPO-kombinationen var det hyppige varesæt. Nu finder vi ud af alle reglerne ved hjælp af RPO.

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

    Du kan se, at der er seks forskellige kombinationer. Derfor, hvis du har n elementer, vil der være 2n- 2 kandidatforeningsregler.

    Fordele ved Apriori Algorithm

    • Det bruges til at beregne store varesæt.
    • Enkel at forstå og anvende.

    Ulemper ved Apriori-algoritmer

    • Apriori-algoritmen er en dyr metode til at finde støtte, da beregningen skal passere gennem hele databasen.
    • Nogle gange har du brug for et stort antal kandidatregler, så det bliver beregningsmæssigt dyrere.