logo

Apriori algoritmi

Apriori-algoritmi viittaa algoritmiin, jota käytetään objektien välisten assosiaatiosääntöjen laskemiseen. Se tarkoittaa, kuinka kaksi tai useampia esineitä liittyvät toisiinsa. Toisin sanoen voidaan sanoa, että apriori-algoritmi on assosiaatiosääntö nojaava, joka analysoi, että tuotteen A ostaneet ihmiset ostivat myös tuotteen B.

Apriori-algoritmin ensisijainen tavoite on luoda assosiaatiosääntö eri objektien välille. Assosiaatiosääntö kuvaa, kuinka kaksi tai useampi objekti liittyvät toisiinsa. Apriori-algoritmia kutsutaan myös toistuvaksi kuvion louhinnaksi. Yleensä käytät Apriori-algoritmia tietokannassa, joka koostuu valtavasta määrästä tapahtumia. Ymmärretään apriori-algoritmi esimerkin avulla; Oletetaan, että menet Big Bazariin ja ostat erilaisia ​​tuotteita. Se auttaa asiakkaita ostamaan tuotteitaan helposti ja lisää Big Bazarin myyntitehokkuutta. Tässä opetusohjelmassa käsittelemme apriori-algoritmia esimerkkien avulla.

Johdanto

Otamme esimerkin ymmärtääksemme konseptia paremmin. Olet varmaan huomannut, että pizzakaupan myyjä tekee pizzan, virvoitusjuoman ja leipätikkuyhdistelmän yhdessä. Hän tarjoaa myös alennuksen asiakkailleen, jotka ostavat näitä komboja. Mietitkö koskaan, miksi hän tekee niin? Hän uskoo, että pizzaa ostavat asiakkaat ostavat myös virvoitusjuomia ja leipäpuikkoja. Komboja tekemällä hän kuitenkin helpottaa asiakkaita. Samalla hän parantaa myös myyntiään.

Samoin menet Big Bazariin, josta löydät keksejä, siruja ja suklaata niputettuna. Se osoittaa, että kauppias tekee asiakkaiden mukavaksi ostaa nämä tuotteet samasta paikasta.

Yllä olevat kaksi esimerkkiä ovat parhaita esimerkkejä yhdistyksen säännöistä

  • Tuki
  • Luottamus
  • Hissi
  • Otetaan esimerkki tämän käsitteen ymmärtämiseksi.

    Olemme jo keskustelleet edellä; tarvitset valtavan tietokannan, joka sisältää suuren määrän tapahtumia. Oletetaan, että sinulla on 4000 asiakastapahtumaa Big Bazarissa. Sinun on laskettava tuki, luottamus ja nousu kahdelle tuotteelle, ja voit sanoa, että keksit ja suklaa. Tämä johtuu siitä, että asiakkaat ostavat usein nämä kaksi tuotetta yhdessä.

    4000 tapahtumasta 400 sisältää keksejä, kun taas 600 sisältää suklaata, ja näihin 600 tapahtumaan sisältyy 200, joka sisältää keksejä ja suklaata. Näiden tietojen avulla saamme selville tuen, luottamuksen ja nousun.

    Tuki

    Tuki viittaa minkä tahansa tuotteen oletussuosioon. Löydät tuen osamääränä kyseisen tuotteen sisältävien tapahtumien määrän jaosta tapahtumien kokonaismäärällä. Näin ollen saamme

    Tuki (keksejä) = (keksejä koskevat tapahtumat) / (tapahtumat yhteensä)

    = 400/4000 = 10 prosenttia.

    Luottamus

    Luottamuksella tarkoitetaan mahdollisuutta, että asiakkaat ostivat sekä keksejä että suklaata yhdessä. Joten sinun on jaettava sekä keksejä että suklaata sisältävien tapahtumien määrä tapahtumien kokonaismäärällä saadaksesi luottamusta.

    Siten,

    Luottamus = (Sekä keksejä että suklaata koskevat tapahtumat) / (keksejä koskevat tapahtumat yhteensä)

    = 200/400

    = 50 prosenttia.

    Se tarkoittaa, että 50 prosenttia keksejä ostaneista asiakkaista osti myös suklaata.

    Hissi

    Harkitse yllä olevaa esimerkkiä; nosto tarkoittaa suklaan myynnin osuuden kasvua, kun myyt keksejä. Noston matemaattiset yhtälöt on annettu alla.

    Nosto = (luottamus (keksejä - suklaata) / (tuki (keksejä))

    = 50/10 = 5

    Se tarkoittaa, että todennäköisyys, että ihmiset ostavat sekä keksejä että suklaata yhdessä, on viisi kertaa suurempi kuin ostavat keksejä yksin. Jos nostoarvo on alle yhden, se edellyttää, että ihmiset eivät todennäköisesti osta molempia tuotteita yhdessä. Mitä suurempi arvo, sitä parempi on yhdistelmä.

    Kuinka Apriori-algoritmi toimii tiedon louhinnassa?

    Ymmärrämme tämän algoritmin esimerkin avulla

    Harkitse Big Bazar -skenaariota, jossa tuotesarja on P = {Rice, Pulse, Oil, Milk, Apple}. Tietokanta sisältää kuusi tapahtumaa, joissa 1 tarkoittaa tuotteen olemassaoloa ja 0 tuotteen puuttumista.

    Tapahtumatunnus Riisi Pulssi Öljy Maito Omena
    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-algoritmi tekee annetut oletukset

    • Usein esiintyvän alkion kaikkien osajoukkojen on oltava toistuvia.
    • Harvinaisen kohdejoukon osajoukkojen on oltava harvinaisia.
    • Korjaa kynnystaso. Meidän tapauksessamme olemme vahvistaneet sen 50 prosenttiin.

    Vaihe 1

    Tee taajuustaulukko kaikista tuotteista, jotka näkyvät kaikissa tapahtumissa. Lyhennä nyt taajuustaulukkoa lisätäksesi vain ne tuotteet, joiden kynnystaso on yli 50 prosenttia. Löydämme annetun taajuustaulukon.

    Tuote Toistuvuus (tapahtumien määrä)
    riisi (R) 4
    Pulssi (P) 5
    Öljy (O) 4
    Maito (M) 4

    Yllä olevasta taulukosta löytyi asiakkaiden usein ostamat tuotteet.

    Vaihe 2

    Luo tuotepareja, kuten RP, RO, RM, PO, PM, OM. Saat annetun taajuustaulukon.

    Kohdesarja Toistuvuus (tapahtumien määrä)
    RP 4
    RO 3
    RM 2
    JÄLKEEN 4
    PM 3
    NOIN 2

    Vaihe 3

    Toteuttamalla saman kynnyksen tukea 50 prosenttia ja harkitse tuotteita, jotka ovat yli 50 prosenttia. Meidän tapauksessamme se on enemmän kuin 3

    Siten saamme RP, RO, PO ja PM

    localdatetime java

    Vaihe 4

    Etsi nyt kolmen tuotteen sarja, jotka asiakkaat ostavat yhdessä. Saamme annetun yhdistelmän.

    1. RP ja RO antavat RPO:n
    2. PO ja PM antavat POM:n

    Vaihe 5

    Laske näiden kahden kohteen taajuus, niin saat annetun taajuustaulukon.

    Kohdesarja Toistuvuus (tapahtumien määrä)
    RPO 4
    POM 3

    Jos otat käyttöön kynnysoletuksen, voit selvittää, että asiakkaiden kolmen tuotteen joukko on RPO.

    Olemme pohtineet helppoa esimerkkiä apriori-algoritmista käsittelemiseksi tiedon louhinnassa. Todellisuudessa löydät tuhansia tällaisia ​​yhdistelmiä.

    Kuinka parantaa Apriori-algoritmin tehokkuutta?

    Apriori-algoritmin tehostamiseen käytetään useita menetelmiä

    Hash-pohjainen kohteiden laskenta

    Hajautuspohjaisessa alkiojoukon laskennassa sinun on suljettava pois k-kohdejoukko, jonka vastaava hajautussäilömäärä on kynnystä pienempi, on harvinainen alkiojoukko.

    Tapahtuman vähentäminen

    Tapahtuman vähentämisessä tapahtumasta, johon ei liity toistuvia X-kohteita, ei tule arvoa myöhemmissä tarkistuksissa.

    Apriori-algoritmi tiedon louhinnassa

    Olemme jo käsitelleet esimerkkiä apriori-algoritmista, joka liittyy toistuvaan alkiojoukon luomiseen. Apriori-algoritmilla on monia sovelluksia tiedon louhinnassa.

    Ensisijaiset vaatimukset tiedon louhinnan yhdistämissääntöjen löytämiseksi on esitetty alla.

    Käytä Brute Forcea

    Analysoi kaikki säännöt ja löydä yksittäisen säännön tuki- ja luottamustasot. Poista sen jälkeen arvot, jotka ovat pienempiä kuin kynnystuki ja luottamustasot.

    Kaksivaiheiset lähestymistavat

    Kaksivaiheinen lähestymistapa on parempi vaihtoehto assosiaatiosääntöjen löytämiseen kuin Brute Force -menetelmä.

    Vaihe 1

    Tässä artikkelissa olemme jo keskustelleet siitä, kuinka luodaan taajuustaulukko ja lasketaan alkiojoukot, joilla on suurempi tukiarvo kuin kynnystuen arvo.

    Vaihe 2

    Yhteyssääntöjen luomiseksi sinun on käytettävä toistuvien alkiojoukkojen binaariosiota. Sinun on valittava ne, joilla on korkein luottamustaso.

    Yllä olevassa esimerkissä voit nähdä, että RPO-yhdistelmä oli yleisin kohteiden joukko. Nyt saamme selville kaikki säännöt käyttämällä RPO:ta.

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

    Näet, että on kuusi erilaista yhdistelmää. Siksi, jos sinulla on n elementtiä, niitä on 2n- 2 ehdokasyhdistyksen sääntöä.

    Apriori-algoritmin edut

    • Sitä käytetään suurten kohteiden laskemiseen.
    • Helppo ymmärtää ja soveltaa.

    Apriori-algoritmien haitat

    • Apriori-algoritmi on kallis tapa löytää tukea, koska laskennan on läpäistävä koko tietokanta.
    • Joskus tarvitaan valtava määrä ehdokassääntöjä, joten se tulee laskennallisesti kalliimmaksi.