logo

Apriori-algoritme

Apriori-algoritme verwijst naar het algoritme dat wordt gebruikt om de associatieregels tussen objecten te berekenen. Het betekent hoe twee of meer objecten met elkaar verband houden. Met andere woorden, we kunnen zeggen dat het apriori-algoritme een associatieregel is die analyseert dat mensen die product A kochten, ook product B kochten.

Het primaire doel van het apriori-algoritme is het creëren van de associatieregel tussen verschillende objecten. De associatieregel beschrijft hoe twee of meer objecten aan elkaar gerelateerd zijn. Het Apriori-algoritme wordt ook wel frequente patroonmining genoemd. Over het algemeen gebruik je het Apriori-algoritme op een database die uit een groot aantal transacties bestaat. Laten we het apriori-algoritme begrijpen met behulp van een voorbeeld; Stel dat je naar Big Bazar gaat en verschillende producten koopt. Het helpt de klanten gemakkelijk hun producten te kopen en verhoogt de verkoopprestaties van de Big Bazar. In deze tutorial bespreken we het apriori-algoritme met voorbeelden.

Invoering

We nemen een voorbeeld om het concept beter te begrijpen. Het is je vast opgevallen dat de verkoper van de pizzawinkel een combinatie van pizza, frisdrank en soepstengel maakt. Hij biedt ook korting aan hun klanten die deze combo's kopen. Denk je ooit na waarom hij dat doet? Hij denkt dat klanten die pizza kopen ook frisdrank en soepstengels kopen. Door combo’s te maken, maakt hij het de klanten echter gemakkelijk. Tegelijkertijd verhoogt hij ook zijn verkoopprestaties.

Op dezelfde manier ga je naar Big Bazar en vind je koekjes, chips en chocolade bij elkaar gebundeld. Het laat zien dat de winkelier het de klanten comfortabel maakt om deze producten op dezelfde plek te kopen.

De bovenstaande twee voorbeelden zijn de beste voorbeelden van associatieregels in

  • Steun
  • Vertrouwen
  • Tillen
  • Laten we een voorbeeld nemen om dit concept te begrijpen.

    We hebben het hierboven al besproken; je hebt een enorme database nodig met een groot aantal transacties. Stel dat u 4000 klantentransacties heeft in een Big Bazar. U moet de ondersteuning, het vertrouwen en de lift voor twee producten berekenen, en u kunt zeggen Koekjes en Chocolade. Dit komt omdat klanten deze twee artikelen vaak samen kopen.

    Van de 4000 transacties bevatten er 400 koekjes, terwijl 600 chocolade bevatten, en deze 600 transacties omvatten 200 transacties met koekjes en chocolaatjes. Met behulp van deze gegevens zullen we de steun, het vertrouwen en de lift ontdekken.

    Steun

    Ondersteuning verwijst naar de standaardpopulariteit van elk product. U vindt de steun als een quotiënt van de deling van het aantal transacties waaruit dat product bestaat, door het totale aantal transacties. Daarom krijgen wij

    Ondersteuning (Koekjes) = (Transacties met betrekking tot koekjes) / (Totaal aantal transacties)

    = 400/4000 = 10 procent.

    Vertrouwen

    Vertrouwen verwijst naar de mogelijkheid dat de klanten zowel koekjes als chocolaatjes samen kochten. U moet dus het aantal transacties dat zowel koekjes als chocolaatjes omvat, delen door het totale aantal transacties om het vertrouwen te krijgen.

    Vandaar,

    Vertrouwen = (Transacties met betrekking tot zowel koekjes als chocolade) / (Totaal aantal transacties met koekjes)

    = 200/400

    = 50 procent.

    Het betekent dat 50 procent van de klanten die koekjes kochten, ook chocolaatjes kochten.

    Tillen

    Beschouw het bovenstaande voorbeeld; Lift verwijst naar de toename van de verkoopratio van chocolaatjes wanneer u koekjes verkoopt. De wiskundige vergelijkingen van lift worden hieronder gegeven.

    Lift = (Vertrouwen (Koekjes - chocolaatjes)/ (Ondersteuning (Koekjes)

    = 50/10 = 5

    Het betekent dat de kans dat mensen zowel koekjes als chocolaatjes samen kopen vijf keer groter is dan wanneer ze de koekjes alleen kopen. Als de liftwaarde lager is dan één, is het onwaarschijnlijk dat mensen beide artikelen samen kopen. Hoe groter de waarde, hoe beter de combinatie.

    Hoe werkt het Apriori-algoritme in datamining?

    We zullen dit algoritme begrijpen met behulp van een voorbeeld

    Overweeg een Big Bazar-scenario waarbij de productset P = {Rijst, Peulvrucht, Olie, Melk, Appel} is. De database omvat zes transacties waarbij 1 staat voor de aanwezigheid van het product en 0 voor de afwezigheid van het product.

    Transactie ID Rijst Puls Olie Melk Appel
    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

    Het Apriori-algoritme gaat uit van de gegeven aannames

    • Alle subsets van een frequente itemset moeten frequent zijn.
    • De subsets van een set zeldzame items moeten zeldzaam zijn.
    • Herstel een drempelondersteuningsniveau. In ons geval hebben we het op 50 procent vastgesteld.

    Stap 1

    Maak een frequentietabel van alle producten die in alle transacties voorkomen. Kort nu de frequentietabel in om alleen die producten toe te voegen met een drempelondersteuningsniveau van meer dan 50 procent. We vinden de gegeven frequentietabel.

    Product Frequentie (aantal transacties)
    Rijst (R) 4
    Puls(P) 5
    Olie(O) 4
    Melk (M) 4

    In de bovenstaande tabel zijn de producten aangegeven die vaak door de klanten worden gekocht.

    Stap 2

    Creëer productparen zoals RP, RO, RM, PO, PM, OM. U krijgt de gegeven frequentietabel.

    Artikelset Frequentie (aantal transacties)
    RP 4
    RO 3
    RM 2
    NA 4
    P.M 3
    OVER 2

    Stap 3

    Implementeer dezelfde drempelondersteuning van 50 procent en overweeg de producten die meer dan 50 procent zijn. In ons geval zijn dat er meer dan 3

    We krijgen dus RP, RO, PO en PM

    Excel-datumverschil

    Stap 4

    Zoek nu naar een set van drie producten die de klanten samen kopen. We krijgen de gegeven combinatie.

    1. RP en RO geven RPO
    2. PO en PM geven POM

    Stap 5

    Bereken de frequentie van de twee itemsets en je krijgt de gegeven frequentietabel.

    Artikelset Frequentie (aantal transacties)
    RPO 4
    POM 3

    Als u de drempelaanname implementeert, kunt u erachter komen dat de set van drie producten van de klant RPO is.

    We hebben een eenvoudig voorbeeld overwogen om het apriori-algoritme in datamining te bespreken. In werkelijkheid vind je duizenden van dergelijke combinaties.

    Hoe kan de efficiëntie van het Apriori-algoritme worden verbeterd?

    Er zijn verschillende methoden gebruikt voor de efficiëntie van het Apriori-algoritme

    Op hash gebaseerde itemsettelling

    Bij het tellen van op hash gebaseerde itemsets moet u de k-itemset uitsluiten waarvan het equivalente hash-emmeraantal kleiner is dan de drempelwaarde, een niet-frequente itemset.

    Transactiereductie

    Bij transactiereductie wordt een transactie waarbij geen frequente X-itemset betrokken is, niet waardevol bij daaropvolgende scans.

    Apriori-algoritme in datamining

    We hebben al een voorbeeld besproken van het apriori-algoritme met betrekking tot het frequent genereren van itemsets. Het Apriori-algoritme heeft veel toepassingen in datamining.

    De belangrijkste vereisten om de associatieregels bij datamining te vinden, worden hieronder gegeven.

    Gebruik brute kracht

    Analyseer alle regels en vind de steun- en vertrouwensniveaus voor de individuele regel. Elimineer daarna de waarden die lager zijn dan de drempelondersteunings- en betrouwbaarheidsniveaus.

    De tweestapsbenaderingen

    De tweestapsaanpak is een betere optie om de verenigingsregels te vinden dan de Brute Force-methode.

    Stap 1

    In dit artikel hebben we al besproken hoe u de frequentietabel kunt maken en itemsets kunt berekenen die een grotere ondersteuningswaarde hebben dan die van de drempelondersteuning.

    Stap 2

    Om associatieregels te maken, moet u een binaire partitie van de frequente itemsets gebruiken. U moet degene kiezen met het hoogste betrouwbaarheidsniveau.

    In het bovenstaande voorbeeld ziet u dat de RPO-combinatie de frequente itemset was. Nu ontdekken we alle regels met behulp van RPO.

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

    Je ziet dat er zes verschillende combinaties zijn. Dus als je n elementen hebt, zullen er 2 zijnN- 2 kandidaat-associatieregels.

    Voordelen van het Apriori-algoritme

    • Het wordt gebruikt om grote itemsets te berekenen.
    • Eenvoudig te begrijpen en toe te passen.

    Nadelen van Apriori-algoritmen

    • Het Apriori-algoritme is een dure methode om ondersteuning te vinden, omdat de berekening door de hele database moet gaan.
    • Soms heb je een groot aantal kandidaatregels nodig, waardoor het rekentechnisch duurder wordt.