Sunteți pe pagina 1din 12

Association rules

o Motivation and terminology


o Basic idea: item sets
o Generating item sets and rules efficiently
o Correlation analysis

1
2
3
Analiza coului pieei folosind tehnici Data Mining

Avndu-i originea n analiza coului pieei, explorarea regulilor de asociere este una dintre
principalele aplicaii ale data mining-ului. Popularitatea lor se datoreaz n mare parte eficienei
prelucrrii datelor cu ajutorul algoritmilor, n special prin dezvoltarea algoritmului Apriori.
Dndu-se un set de tranzacii ale clienilor, scopul regulilor de asociere este de a gsi corelaii
ntre articolele vndute. Regulile de asociere sunt de tipul dac-atunci reguli cu dou msuri care
cuantific sprijinul i ncrederea regulii pentru un set de date dat. Analiza pieei a fost de asemenea
utilizat i n medicin i n alte servicii industriale. Mai mult, aplicaii ale regulilor de asociere sunt
folosite mult mai departe dect n analiza coului pieei, n detectarea intruilor n diferite reele sau
n atacuri asupra serverelor web i folosirea paginilor webserverelor. Regulile de asociere sunt
folosite i de oamenii de tiin n descoperirea secvenelor ADN i structurilor de proteine i n
investigarea seriilor de timp.
Vom considera explorarea asocierilor n baze de date mari ce conin tranzacii ale clienilor.
n continuare vom face o prezentare de ansamblu a problemei i vom explica abordrile care au fost
folosite pentru a rezolva aceast problem.

1. Cutarea asocierilor

Regulile de asociere i au originea n analiza coului pieei i au ca obiectiv nelegerea


comportamentului i intereselor clienilor n comerul cu amnuntul. Aceast nelegere ajut n
gruparea produselor i n marketingul direct. Clientul are la dispoziie o mulime mare de articole
pentru a alege diferite couri cu produse. Presupunnd c numrul de articole este n jur de 10000 i
dac nu se iau n considerare variaii de cantiti ale acelorai articole, pentru articole diferite n
acelai co de cumprturi se pot forma aproximativ 210000 103000 couri diferite. n practic, nici un
co nu va conine foarte multe articole. Chiar dac vom considera couri de cumprturi cu cel mult
de 30 de articole fiecare, tot vom avea mai mult de 10100 posibiliti. Acesta este un exemplu de
blestem al dimensionalitii. Orice algoritm data mining va avea de a face ntr-un fel sau altul cu
acest blestem.
Regulile de asociere pentru analiza coului pieei descoper modele care apar frecvent
n cadrul courilor de cumprturi.

4
Dou tipuri de modele pot fi gsite n cadrul regulilor de asociere:
Primul tip este dac-atunci-reguli i este de forma Dac un client cumpr lapte atunci
el va cumpra i pine.
Al doilea tip se refer la reuniunea de articole n cadrul unui co de cumprturi: Un
client cumpr pine i lapte mpreun.
Descoperirea celui de al doilea model este mai simpl dect a primului, dar putem observa c
la descoperirea primului model ne putem baza pe descoperirea celui de-al doilea.

Conceptul de explorare a regulilor de asociere a fost prima dat introdus de Agrawal et al..
Considerm o pia cu o colecie mare de tranzacii ale clienilor.
O regul de asociere este de tipul X Y unde X este antecedentul iar Y este consecutivul.
X i Y sunt mulimi de articole i o regul nseamn c
un client care cumpr articolele din mulimea X
o s cumpere i articolele din mulimea Y
cu o probabilitate %c unde c se numete ncredere.
O regul poate fi enunat astfel: Optzeci de procente din cei care au cumprat igri, au cumprat i
chibrituri.
O asemenea regul ne ajut s rspundem la ntrebarea Cu ce se vinde Coca Cola?, sau dac suntem
interesai s verificm dependena dintre dou articole A i B putem gsi reguli care au mulimea A
ca i consecutiv i mulimea B ca i antecedent.
Scopul este acela de a genera asemenea reguli dndu-se o baz de date de tranzacii ale
clienilor. n general, algoritmii ncearc s optimizeze viteza de execuie ntruct mrimea bazei de
date a tranzaciilor este foarte mare. Acest tip de informaie poate fi folosit n design-ul catalogului,
structura magazinului, plasarea produselor, obiective de marketing etc. Analiza coului este legat de
aceste informaii, dar este diferit de sistemul de Management al Relaiilor cu Clienii (Customer
Relationship Management - CRM) unde scopul este de a gsi dependene ntre datele demografice
ale clienilor (vrst, starea civil, sex) i produse.

2. Descrierea formal a problemei

Fie I (i1 , i2 ,..., im ) o mulime de articole. Fiecare i reprezint un articol al tranzaciei.


D este o mulime de tranzacii, unde fiecare tranzacie T este o mulime de articole, astfel nct
T I . Fiecare tranzacie are un identificator unic TID.
O mulime de elemente care are k articole se numete k-mulime de articole.
Fie X i Y dou mulimi de articole distincte.

5
Suportul mulimii de articole X este numrul de submulimi care conin toate articolele
mulimii X.
Fie |X| numrul de mulimi de articole care conin mulimea X i |D| numrul tuturor
tranzaciilor, |X,Y| numrul tuturor mulimilor care conin elementele mulimilor X i Y.
Suportul mulimii X este definit n felul urmtor:
|X|
support (X )=
|D|
Regula X Y are suportul s dac %s al tranzaciilor din D conin mulimile X i Y mpreun.
| X ,Y |
support ( X Y )
| D|
Frontiera unei mulimi de articole X const dintr-un set de identificatori de tranzacii al
tranzaciilor din baza de date care conin mulimea X:
cov er ( X ) {tid | (tid, I ) D, X I } .

Atunci, suportul unei mulimi de articole X reprezint numrul de tranzacii din frontiera lui
X:
support(X)=|cover(X)|.
Suportul msoar ct de comune sunt mulimile de articole n baza de date iar ncrederea
msoar ct de puternic este regula. O regul se spune c are ncrederea c dac %c al tranzaciilor
care l conin pe X l conin i pe Y.
support ( X , Y )
confidence( X Y )
support ( X )
Dndu-se o mulime de tranzacii D sarcina explorrii regulilor de asociere este s gseasc
reguli X Y astfel nct suportul regulei s fie mai mare dect un suport minim specificat de
utilizator, numit minsupp, iar ncrederea s fie mai mare dect o ncredere minim specificat de
utilizator, denumit minconf. O mulime de articole se numete frecvent dac suportul ei este mai
mare dect minsupp.
Colecia mulimilor frecvente de articole din D care au suportul mai mare dect minsupp o
vom nota cu F.
F={ X I | support(X) minsupp}.
Sarcina explorrii regulilor de asociere poate fi mprit n dou faze. n prima faz, sunt
gsite mulimile mari de articole folosind minsupp, iar n a doua faz se genereaz regula folosind
minconf.
Colecia regulilor de asociere frecvente i de ncredere care respect suportul minsupp i
ncrederea minconf o vom nota cu R.
R {X Y | X , Y I , X Y {}, X Y F , confidence( X Y ) minconf } .

6
Algoritmii care implementeaz explorarea asocierilor parcurg mulimea datelor de mai multe
ori. Majoritatea algoritmilor gsesc pentru nceput mulimile frecvente de articole apoi, n consecin,
genereaz regula. Deoarece gsirea mulimilor frecvente de articole este partea dificil, cercetrile se
concentreaz pe acest aspect.
Aceast problem a fost aprofundat din diferite perspective prin civa algoritmi. Agrawal,
Imielinski i Swami definesc conceptul de suport i ncredere i propun un algoritm care folosete o
mulime Y cu un singur articol. Algoritmul face mai multe treceri asupra nregistrrilor bazei de date.
La fiecare trecere, suportul fiecrei mulimi de articole este msurat. Aceste mulimi de articole,
denumite mulimi de articole candidat sunt derivate din tuplele bazei de date. Listingul 1 conine
pseudocodul acestui algoritm.

Listingul 1. Gsirea mulimilor frecvente de articole


procedure LargeItemsets{
let Large set L = ;
let Frontier set F = { };
while (F ){
let Candidate set C = ;
forall database tuple t{
forall itemsets f in F{
if(t contains f){
let Cf = candidate itemsets that are
extensions of f and contained in t;
forall itemsets cf in Cf{
if(Cf C)
cf.count++;
else{
cf.count=0;
C=C+cf;
}
}
}
}
}
let F = ;
forall itemsets c in C{
if(count(c)/|D|>minsupp)
L = L+c;
if(c should be used asa frontier in the next pass)
F = F+c;
}
}
}

Agrawal i Srikant definesc algoritmii Apriori i AprioriTid n care mulimea Y poate conine
mai multe articole.

7
n explorarea asocierilor pot fi folosite i interogrile iceberg. Un mod eficient de a calcula
aceste interogrile, este dat de Fang. O interogare iceberg reprezint o funcie peste un atribut (sau o
mulime de atribute) pentru gsirea valorilor care sunt mai mari dect un prag stabilit. O interogare
iceberg se efectueaz asupra unei relaii R(t1 , t 2 ,..., t k , ID) . Un exemplu de interogare iceberg este
urmtorul:
SELECT t1,t2,...,tk, count(ID) FROM R
GROUP BY t1,t2,...,tk HAVING count(ID)>T
n cazul nostru t1,t2,...,tk corespund articolelor. Se numesc interogri iceberg pentru c datele
pe care ncercm s le cutm sunt mari, ca un iceberg, dar rezultatele pe care ncercm s le obinem
i care au o valoare mai mare dect un anumit prag, sunt de obicei foarte mici, ca vrful unui iceberg.
Tehnicile sunt aplicate dac rezultatele sunt foarte mici n comparaie cu ntreg set de date.
Toivonen a ales o mostr dintr-o baza de date i a calculat regulile pe aceast mostr. Apoi
regulile au fost verificate pe ntreaga baz de date. n continuare au fost generate mulimile frecvente
de articole care conin aceast mostr folosind un prag foarte mic. Dup gsirea mulimilor de articole,
acestea au fost testate pe ntregul set de date i au fost obinute rezultatele. Algoritmul de alegere a
uuei mostre este dat n listingul 2.

Listingul 2. Algoritmul de alegere a unei mostre


s = Draw a Random Sample from database D;
S = Large_Itemsets in s;
F = Itemsets having support minSupp in S;
Report if Error;
return(F);

Fu i Kwong nu folosesc constrngeri suport, dar n schimb sunt gsite primele N reguli de
asociere. Se folosete o restricie numai pentru numrul de reguli generate. La fiecare pas al
algoritmului sunt alese N-cele mai interesante k-mulimi de articole, apoi primele N mulimi de
articole cu cele mai mari valori suport. n continuare vom trimite aceste posibile mulimi, care pot
forma o mulime frecvent de articole, n pasul urmtor al algoritmului. Algoritmul este prezentat n
listingul 3. Funciile din algoritm sunt urmtoarele: Find_potential_1_itemset(D,N) caut primele N
cele mai interesante 1-mulimi de articole i le returneaz mpreun cu suportul lor. Apoi mulimile
de articole gsite sunt ordonate descresctor dup suport. Gen_candidate(Pk) folosesc algoritmul
Apiori_Gen pentru a genera candidaii (k+1)-mulimi de articole.
Find_N_potential_k_intemset(Ck,N,k) caut primele N cele mai interesante k-mulimi de articole.
Reduce(newsupport) reduce valoarea pragului dac nu sunt destule k-mulimi de articole.

8
Listingul 3. Gsirea celor N cele mai interesante mulimi de articole
function Itemset_Loop(supportk,lastsupportk,N,Ck,Pk,D){
(P1,support1,lastsupport1)=find_potential_1_itemset(D,N);
C2 = gen_candidate(P1);
for(k=2; k<m; k++){
(Pk,supportk,lastsupportk)=Find_N_potential_k_itemset(Ck,N,k);
if(k<m) Ck+1=Gen_Candidate(Pk); }
Ik = N most Interesting k-itemsets in Pk;
I Ik ;
k
return(I);
}
function Find_N_potential_k_itemset(Ck,N,k){
(Pk,supportk,lastsupportk)=find_potential_k_itemset(Ck,N);
Newsupport = supportk;
for(i=2; i k; i++)
updatedi = FALSE;
for(i=2; i k; i++){
if(i==2){
if(newsupport lastsupporti){
(Pi=find_potential_1_itemsets_with_support(D,newsupport));
if(i<k) Ci+1=gen_candidate(Pi);
if(Ci+1 is updated) updatedi+1=TRUE;
}
}
else{
if((newsupport lastsupporti) || updatedi=TRUE){
(Pi=find_potential_k_itemsets_with_support(Ci,newsupport));
if(i<k) Ci+1=gen_candidate(Pi);
if(Ci+1 is updated) updatedi+1=TRUE;
}
}
if((number of k-items < N)&&(i==k)&&(k==m)){
newsupport=reduce(newsupport);
for(j=2; j k; j++)
updatedj=FALSE;
i=1;
}
}
return(Pk,supportk,lastsupportk);
}

Alt cale de a explora regulile de asociere o reprezint utilizarea algoritmilor distribuii i


paraleli. Presupunem ca DB este o baz de date cu |D| tranzacii i este distribuit n n pri DB1,
DB2,..., DBn. Fie Di mrimea partiiei DBi, X.sup i X.supi suportul global i local pentru o mulime
X. O mulime de articole se spune c este global mare dac X . sup s D pentru un suport s dat.
Dac X . supi s Di atunci X se numete de asemenea global mare. Mulimea L conine toate

9
mulimile globale mari de articole din DB. Scopul este gsirea mulimii L. Algoritmi paraleli pentru
explorarea regulilor de asociere sunt descrii de Agrawal i Shafer.
Cheung et al. implementeaz un algoritm distribuit pentru explorarea regulilor de asociere.
Algoritmul se numete FDM (Fast Distribution Mining of association rules) i este prezentat n
listingul 4.

Listingul 4. Algoritmul Fast Distributed Mining of association rules


if(k==1)
Ti(1)=get_local_count(DBi, ,1);
else{
n
CG( k ) CGi ( k ) ;
i 1
n
CG( k ) Apriori _ Gen(GLi ( k 1) );
i 1

Ti ( k ) get _ local _ count ( DBi , CG(i )i );


}
forall X Ti ( k )
if(X.supi s Di )
for(j=1; j n; j++)
if(polling_site(X)==Sj)
insert <X,X.supi> into LLi,j(k)
for(j=1; j n; j++) send LLi,j(k) to site Sj
for(j=1; j n; j++){
receive LLi,j(k);
forall X LLi,j(k) {
if( X LPi ( k ) )
insert X into LPi(k);
update X.largesites;
}
}
forall X LPi ( k )
send_polling_request(X);
reply_polling_request(Ti(k));
forall X LPi ( k ) {
receive X.suppj from the sites Sj where Sj X.largesites;
n
X .sup X .supi ;
i 1
if(X.sup s D )
insert X into Gi(k);
}
broadcast Gi(k);

10
receive Gj from all other sites S j (i j ) ;
n
Lk Gi ( k )
i 1
divide Lk into GLi(k)(i=1,2,,n)
return (Lk)

11
Bibliography

http://www.iiisci.org/journal/CV$/sci/pdfs/SA052RJ13.pdf
http://pages.cs.wisc.edu/~dbbook/openAccess/thirdEdition/slides/slides3ed-english/Ch26-
DataMining-95.pdf
http://www.saedsayad.com/association_rules.htm
http://www-users.cs.umn.edu/~kumar/dmbook/ch6.pdf
http://www.lsi.us.es/~riquelme/publicaciones/softcomputing.pdf

SPSS MODELER TUTORIAL

https://www.youtube.com/watch?v=pQl89W_T0Q0

RAPIDMINER TUTORIAL

https://www.youtube.com/watch?v=HjqNUfXPuIM

12

S-ar putea să vă placă și