logo

Apriorni algoritam

Apriorni algoritam odnosi se na algoritam koji se koristi za izračunavanje pravila povezivanja između objekata. To znači kako su dva ili više predmeta međusobno povezani. Drugim riječima, možemo reći da je apriori algoritam pravilo asocijacije koje se oslanja na analiziranje da su ljudi koji su kupili proizvod A također kupili proizvod B.

Primarni cilj apriornog algoritma je stvoriti pravilo povezivanja između različitih objekata. Pravilo pridruživanja opisuje kako su dva ili više objekata međusobno povezani. Apriori algoritam se također naziva frekventno rudarenje uzoraka. Općenito, radite s Apriori algoritmom na bazi podataka koja se sastoji od ogromnog broja transakcija. Razumimo apriorni algoritam uz pomoć primjera; Pretpostavimo da odete na Big Bazar i kupite različite proizvode. Pomaže kupcima da s lakoćom kupuju njihove proizvode i povećava prodajne rezultate Big Bazara. U ovom vodiču ćemo raspravljati o apriornom algoritmu s primjerima.

Uvod

Uzimamo primjer kako bismo bolje razumjeli koncept. Sigurno ste primijetili da prodavač u Pizza shopu radi kombinaciju pizze, bezalkoholnog pića i grisina. On također nudi popust svojim kupcima koji kupe ove kombinacije. Pomislite li ikada zašto to čini? Smatra da kupci koji kupuju pizzu kupuju i bezalkoholna pića i grisine. Međutim, izradom kombinacija olakšava posao kupcima. U isto vrijeme, on također povećava svoj prodajni učinak.

Slično, ako odete u Big Bazar, naći ćete kekse, čips i čokoladu zajedno. To pokazuje da trgovac kupcima olakšava kupnju ovih proizvoda na istom mjestu.

Gornja dva primjera najbolji su primjeri Pravila udruge u

  • podrška
  • Samouvjerenost
  • Lift
  • Uzmimo primjer da bismo razumjeli ovaj koncept.

    Već smo raspravljali gore; potrebna vam je ogromna baza podataka koja sadrži veliki broj transakcija. Pretpostavimo da imate 4000 transakcija kupaca na Big Bazaru. Morate izračunati podršku, samopouzdanje i porast za dva proizvoda, a možete reći kekse i čokoladu. To je zato što kupci često kupuju ova dva artikla zajedno.

    Od 4000 transakcija, 400 sadrži kekse, dok 600 sadrži čokoladu, a tih 600 transakcija uključuje 200 koje uključuju kekse i čokolade. Pomoću ovih podataka saznat ćemo podršku, povjerenje i podizanje.

    podrška

    Podrška se odnosi na zadanu popularnost bilo kojeg proizvoda. Potporu ćete pronaći kao kvocijent dijeljenja broja transakcija koje čine taj proizvod s ukupnim brojem transakcija. Dakle, dobivamo

    Podrška (keksi) = (Transakcije koje se odnose na kekse) / (Ukupne transakcije)

    = 400/4000 = 10 posto.

    Samouvjerenost

    Povjerenje se odnosi na mogućnost da su kupci zajedno kupili i kekse i čokolade. Dakle, trebate podijeliti broj transakcija koje uključuju i kekse i čokolade s ukupnim brojem transakcija da biste dobili pouzdanost.

    Stoga,

    Povjerenje = (Transakcije koje se odnose i na kekse i na čokoladu) / (Ukupne transakcije koje uključuju kekse)

    = 200/400

    = 50 posto.

    To znači da je 50 posto kupaca koji su kupili kekse kupilo i čokolade.

    Lift

    Razmotrite gornji primjer; povećanje se odnosi na povećanje omjera prodaje čokolade kada prodajete kekse. U nastavku su dane matematičke jednadžbe uzgona.

    Podizanje = (Povjerenje (keksi - čokolade)/ (Podrška (keksi)

    = 50/10 = 5

    To znači da je vjerojatnost da ljudi kupe i kekse i čokoladu zajedno pet puta veća od one da kupe kekse same. Ako je vrijednost porasta ispod jedan, to zahtijeva da ljudi vjerojatno neće kupiti obje stavke zajedno. Što je veća vrijednost, to je bolja kombinacija.

    Kako Apriori algoritam radi u rudarenju podataka?

    Razumjet ćemo ovaj algoritam uz pomoć primjera

    Razmotrite scenarij Big Bazara gdje je skup proizvoda P = {riža, mahunarke, ulje, mlijeko, jabuka}. Baza podataka se sastoji od šest transakcija gdje 1 predstavlja prisutnost proizvoda, a 0 predstavlja odsutnost proizvoda.

    ID transakcije Riža Puls Ulje Mlijeko Jabuka
    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

    Apriorni algoritam donosi zadane pretpostavke

    • Svi podskupovi skupa čestih stavki moraju biti česti.
    • Podskupovi rijetkog skupa stavki moraju biti rijetki.
    • Popravite razinu podrške praga. U našem slučaju, popravili smo to na 50 posto.

    Korak 1

    Napravite tablicu učestalosti svih proizvoda koji se pojavljuju u svim transakcijama. Sada skratite tablicu učestalosti kako biste dodali samo one proizvode s pragom razine podrške od preko 50 posto. Nalazimo zadanu tablicu frekvencija.

    Proizvod Učestalost (broj transakcija)
    riža (R) 4
    Puls (P) 5
    Ulje (O) 4
    Mlijeko (M) 4

    Gornja tablica pokazuje proizvode koje kupci često kupuju.

    Korak 2

    Stvorite parove proizvoda kao što su RP, RO, RM, PO, PM, OM. Dobit ćete zadanu tablicu frekvencija.

    Skup predmeta Učestalost (broj transakcija)
    RP 4
    RO 3
    RM 2
    NAKON 4
    PM 3
    OKO 2

    3. korak

    Implementacija istog praga podrške od 50 posto i uzeti u obzir proizvode koji su više od 50 posto. U našem slučaju to je više od 3

    Tako dobivamo RP, RO, PO i PM

    ponovi mapu u Javi

    Korak 4

    Sada potražite set od tri proizvoda koje kupci kupuju zajedno. Dobivamo zadanu kombinaciju.

    1. RP i RO daju RPO
    2. PO i PM daju POM

    Korak 5

    Izračunajte učestalost dva skupa stavki i dobit ćete zadanu tablicu učestalosti.

    Skup predmeta Učestalost (broj transakcija)
    RPO 4
    POM 3

    Ako implementirate pretpostavku o pragu, možete shvatiti da je kupčev skup od tri proizvoda RPO.

    Razmotrili smo jednostavan primjer za raspravu o apriornom algoritmu u rudarenju podataka. U stvarnosti, možete pronaći tisuće takvih kombinacija.

    Kako poboljšati učinkovitost apriornog algoritma?

    Postoje različite metode koje se koriste za učinkovitost Apriori algoritma

    Brojanje skupa stavki na temelju hashiranja

    U brojanju skupa stavki temeljenom na raspršivanju, morate izuzeti k-set skupova čiji je ekvivalentni broj spremnika raspršivanja manji od praga i predstavlja rijedak skup stavki.

    Smanjenje transakcija

    U redukciji transakcije, transakcija koja ne uključuje bilo koji česti skup X stavki postaje nevrijedna u kasnijim skeniranjima.

    Apriorni algoritam u rudarenju podataka

    Već smo raspravljali o primjeru apriornog algoritma koji se odnosi na često generiranje skupa predmeta. Apriori algoritam ima mnoge primjene u rudarenju podataka.

    Primarni zahtjevi za pronalaženje pravila pridruživanja u rudarenju podataka navedeni su u nastavku.

    Koristite grubu silu

    Analizirajte sva pravila i pronađite podršku i razine povjerenja za pojedinačno pravilo. Nakon toga eliminirajte vrijednosti koje su manje od praga podrške i razine pouzdanosti.

    Pristupi u dva koraka

    Pristup u dva koraka bolja je opcija za pronalaženje pravila asocijacija od metode Brute Force.

    Korak 1

    U ovom smo članku već raspravljali o tome kako izraditi tablicu učestalosti i izračunati skupove artikala koji imaju veću vrijednost podrške od one za podršku praga.

    Korak 2

    Za kreiranje pravila pridruživanja morate koristiti binarnu particiju čestih skupova stavki. Morate odabrati one koji imaju najviše razine povjerenja.

    U gornjem primjeru možete vidjeti da je RPO kombinacija čest skup stavki. Sada saznajemo sva pravila koristeći RPO.

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

    Možete vidjeti da postoji šest različitih kombinacija. Dakle, ako imate n elemenata, bit će ih 2n- 2 pravila udruge kandidata.

    Prednosti apriornog algoritma

    • Koristi se za izračunavanje velikih skupova stavki.
    • Jednostavan za razumijevanje i primjenu.

    Nedostaci apriornih algoritama

    • Apriori algoritam je skupa metoda za pronalaženje podrške jer izračun mora proći kroz cijelu bazu podataka.
    • Ponekad vam je potreban ogroman broj pravila kandidata, pa to postaje računski skuplje.