SlideShare a Scribd company logo
Introducere ˆ Data Mining
                                        ın
                          Analiza asocierilor: concepte de baz˘
                                                              a


                                  Lucian Sasu, Ph.D.

        Universitatea Transilvania din Bra¸ov, Facultatea de Matematic˘ ¸i Informatic˘
                                          s                           as             a


                                      April 5, 2012




lucian.sasu@ieee.org (UNITBV)               Curs 6                           April 5, 2012   1 / 73
Outline


1     Notiuni, definirea problemei
        ¸

2     Generarea multimilor frecvente
                   ¸

3     Generarea regulilor

4     Reprezentarea compact˘ a multimilor frecvente
                           a      ¸

5     Metode alternative pentru generarea de multimi frecvente
                                                ¸

6     Evaluarea regulilor de asociere

7     Efectul distributiei oblice
                      ¸



    lucian.sasu@ieee.org (UNITBV)       Curs 6                   April 5, 2012   2 / 73
Notiuni
  ¸
     ˆ cadrul vˆnz˘rilor din magazine se ˆ
     In          a a                       ınregistreaz˘ continutul co¸urilor
                                                       a    ¸          s
     de cump˘r˘turi achizitionate = tranzactii
              aa           ¸                  ¸
     Problem˘: pentru un set de tranzactii s˘ se determine regulile care
              a                           ¸ a
     dau predispozitia aparitiei unui obiect pe baza existentei altor obiecte
                   ¸        ¸                               ¸
     ˆ
     ıntr-un co¸s
     Exemplu de tranzactii:
                         ¸
                      TID Obiecte
                      1       {pˆine, lapte}
                                 a
                      2       {pˆine, scutece, bere, ou˘}
                                 a                      a
                      3       {lapte, scutece, bere, suc}
                      4       {pˆine, lapte, scutece, bere}
                                 a
                      5       {pˆine, lapte, scutece, suc}
                                 a
                         Table: Tranzactii de tip co¸ de cump˘r˘turi
                                       ¸            s        aa

      TID = Transaction ID
      Exemplu de regul˘ ce se poate extrage: {scutece} −→ {bere}
                      a
 lucian.sasu@ieee.org (UNITBV)              Curs 6                     April 5, 2012   3 / 73
Notiuni
  ¸


      Regula sugereaz˘ c˘ ar exista o relatie de dependent˘ ˆ
                      a a                 ¸              ¸a ıntre vˆnzarea
                                                                   a
      de scutece ¸i cea de bere
                 s
      Remarc˘: regula dat˘ este directional˘; nu ˆ
             a           a           ¸     a     ınseamn˘ neap˘rat ¸i c˘
                                                        a     a    s a
      {bere} −→ {scutece}
      Moduri de exploatare a unor astfel de reguli:
             se scade pretul obiectelor din antecedentul regulii, se cre¸te pretul celor
                          ¸                                             s       ¸
             din consecvent
             se face cross-selling
             se decide dispunerea pe raft a produselor
             se face reclam˘ sau ofert˘ personalizat˘, gruparea produselor ˆ
                            a          a            a                         ın
             cataloage de prezentare
      Alte medii de aplicare: bioinformatic˘, diagnostic medical, web
                                           a
      mining, analiza ¸tiintific˘ a datelor
                      s ¸ a


 lucian.sasu@ieee.org (UNITBV)            Curs 6                        April 5, 2012   4 / 73
Notiuni
  ¸



Probleme:
      descoperirea de pattern–uri ˆ seturi mari de date este o problem˘
                                  ın                                  a
      intensiv˘ computational
              a         ¸
      o parte din relatiile descoperite pot fi pur ¸i simplu rodul ˆ ampl˘rii
                      ¸                           s               ıntˆ  a
      evaluarea regulilor obtinute este un pas absolut necesar
                            ¸
      semnul de implicatie ˆ acest context ˆ
                       ¸ ın                ınseamn˘ aparitie concomitent˘,
                                                  a      ¸              a
      nu cauzalitate
      de citit: Correlation does not imply causation (Wikipedia)




 lucian.sasu@ieee.org (UNITBV)       Curs 6                      April 5, 2012   5 / 73
Notiuni, definitii
  ¸           ¸

      Posibil mod de reprezentare a tranzactiilor:
                                           ¸
                    TID          Pˆine
                                  a      Lapte     Scutece   Bere   Ou˘a   suc
                     1             1       1          0       0      0      0
                     2             1       0          1       1      1      0
                     3             0       1          1       1      0      1
                     4             1       1          1       1      0      0
                     5             1       1          1       0      0      1
                      Table: Reprezentare binar˘ a datelor tranzactiei
                                               a                  ¸


      Reprezentarea binar˘ este asimetric˘: prezenta unui produs este mai
                         a               a        ¸
      important˘ decˆt lipsa lui
               a    a
      Reprezentare voit simplist˘, omitˆnd cantitatea de achizitie
                                a     ¸a                       ¸


 lucian.sasu@ieee.org (UNITBV)                   Curs 6                    April 5, 2012   6 / 73
Notiuni, definitii
  ¸           ¸



      Multime de produse (simplu: multime; eng: itemset) — colectie de
         ¸                           ¸                          ¸
      unul sau mai multe obiecte
      k–multime (eng: k-itemset) — o multime compus˘ din k obiecte
            ¸                           ¸          a
      (produse)
      Num˘rul de suport al unei multimi σ(·) (eng: support count) —
           a                          ¸
      frecventa de aparitie a acelei multimi
             ¸          ¸               ¸
      σ(X ) = |{ti : X ⊆ ti , ti ∈ T }| unde T este multimea tuturor
                                                       ¸
      tranzactiilor, |U| este num˘rul de elemente (cardinalul) al multimii U
             ¸                     a                                 ¸
      Exemplu: σ({lapte, paine, scutece}) = 2




 lucian.sasu@ieee.org (UNITBV)       Curs 6                    April 5, 2012   7 / 73
Notiuni, definitii
  ¸           ¸
      Regul˘ de asociere (regul˘): o expresie de forma X −→ Y unde X , Y
           a                   a
      sunt multimi de produse, X ∩ Y = ∅
              ¸

Definitie (Suportul unei reguli)
     ¸
Suportul regulii X −→ Y pentru o multime de N tranzactii este fractia de
                                       ¸             ¸            ¸
tranzactii care contin produsele din X ∪ Y :
       ¸           ¸

                                                   σ(X ∪ Y )
                                 s(X −→ Y ) =                                  (1)
                                                      N

Definitie (Confidenta unei reguli)
     ¸           ¸
Confidenta regulii X −→ Y este num˘rul de tranzactii care contin pe X ¸i
        ¸                            a          ¸           ¸        s
Y raportat la cele care contin doar pe X :
                           ¸

                                                   σ(X ∪ Y )
                                 c(X −→ Y ) =                                  (2)
                                                     σ(X )
 lucian.sasu@ieee.org (UNITBV)            Curs 6               April 5, 2012   8 / 73
Notiuni, definitii
  ¸           ¸


Exemplu: pentru datele din tabelul de mai jos
 TID Obiecte
 1     {pˆine, lapte}
          a
 2     {pˆine, scutece, bere, ou˘}
          a                      a
 3     {lapte, scutece, bere, suc}
 4     {pˆine, lapte, scutece, bere}
          a
 5     {pˆine, lapte, scutece, suc}
          a
    Consider˘m regula {lapte, scutece} −→ {bere}
            a
      Num˘rul de suport pentru {lapte, scutece, bere} este 2; num˘rul total
           a                                                     a
      de tranzactii este 5, deci suportul este 2/5
                ¸
      Confidenta: sunt 3 tranzactii care contin {lapte, scutece}, deci
             ¸                 ¸           ¸
      confidenta este 2/3
             ¸



 lucian.sasu@ieee.org (UNITBV)      Curs 6                    April 5, 2012   9 / 73
Notiuni, definitii
  ¸           ¸



      De ce se folose¸te suportul?
                     s
             o regul˘ cu suport mic poate ˆ
                    a                       ınsemna o leg˘tur˘ ˆ ampl˘toare
                                                         a a ıntˆ    a
             o regul˘ cu suport mic s–ar putea s˘ fie neprofitabil˘
                    a                            a               a
             suportul poate elimina regulile neinteresante
      De ce se folose¸te confidenta?
                     s          ¸
             m˘soar˘ ˆ
               a    a ıncrederea ˆ rezultatul aplic˘rii unei reguli
                                 ın                a
             pentru regula X −→ Y o confident˘ mare arat˘ ˆ ce m˘sur˘ aparitia
                                               ¸a             a ın  a a     ¸
             multimii X va duce la aparitia multimii Y
                 ¸                      ¸       ¸
             c(X −→ Y ) poate fi interpretat˘ ca probabilitatea conditionat˘
                                             a                      ¸     a
             P(Y |X )




 lucian.sasu@ieee.org (UNITBV)          Curs 6                      April 5, 2012   10 / 73
Notiuni, definitii
  ¸           ¸
Definitie (Descoperirea relatiilor de asociere)
     ¸                     ¸
Dˆndu–se o multime de tranzactii T , s˘ se g˘seasc˘ toate regulile cu
  a             ¸             ¸       a     a     a
suport ≥ minsup ¸i confident˘ conf ≥ minconf , unde minsup ¸i minconf
                  s       ¸a                                 s
sunt praguri date.

Abordare brute-force:
    se genereaz˘ toate regulile de asociere posibile
                a
    se calculeaz˘ suportul ¸i confidenta fiec˘rei reguli
                a           s         ¸     a
    se elimin˘ regulile care nu respect˘ pragurile minconf ¸i minsup date
             a                         a                   s
    Complexitate de calcul prohibitiv˘: num˘rul de reguli pentru d
                                      a      a
    produse este:
                               R = 3d − 2d+1 + 1
       (tem˘ pentru acas˘)
           a             a
      Pentru cele 6 produse din tranzactiile date am avea 602 reguli; pentru
                                       ¸
      minsup = 20% ¸i minconf = 50%, mai mult de 80% din regulile
                      s
      generate sunt eliminate!
 lucian.sasu@ieee.org (UNITBV)      Curs 6                    April 5, 2012   11 / 73
Pa¸i de lucru
  s

      Observatie important˘: suportul regulii X −→ Y depinde doar de
             ¸            a
      num˘rul suport al multimii X ∪ Y
         a                 ¸
      Pentru multimea {bere, scutece, lapte} se pot genera 6 reguli:
                 ¸
      {bere, scutece} −→ {lapte}, {bere} −→ {scutece, lapte} etc.; toate
      acestea au acela¸i suport, indiferent de partitionarea ˆ
                      s                             ¸        ın
      antecedent/consecvent
      Dac˘ o multime nu este frecvent˘, atunci toate regulile ce se pot
         a        ¸                    a
      construi pe baza ei pot fi eliminate f˘r˘ a le mai calcula confidenta
                                           aa                          ¸
      Concluzie: se poate decupla calculul suportului ¸i al confidentei
                                                      s            ¸
      Pa¸ii de lucru:
        s
         1   generarea multimilor frecvente, i.e. al celor pentru care suportul este
                           ¸
             cel putin minsup
                   ¸
         2   generarea regulilor pe baza multimilor frecvente
                                            ¸


 lucian.sasu@ieee.org (UNITBV)            Curs 6                       April 5, 2012   12 / 73
Outline


1     Notiuni, definirea problemei
        ¸

2     Generarea multimilor frecvente
                   ¸

3     Generarea regulilor

4     Reprezentarea compact˘ a multimilor frecvente
                           a      ¸

5     Metode alternative pentru generarea de multimi frecvente
                                                ¸

6     Evaluarea regulilor de asociere

7     Efectul distributiei oblice
                      ¸



    lucian.sasu@ieee.org (UNITBV)       Curs 6                   April 5, 2012   13 / 73
Problema gener˘rii multimilor frecvente
              a       ¸
Generarea multimilor frecvente este solicitant˘ computational: pentru o
               ¸                              a        ¸
multime de k produse se pot realiza 2
    ¸                                 k − 1 potentiale multimi frecvente
                                                  ¸       ¸
(se exclude ∅)




                                 Figure: Latice de multimi
                                                      ¸
 lucian.sasu@ieee.org (UNITBV)             Curs 6            April 5, 2012   14 / 73
Varianta brute-force:
      Fiecare multime candidat din latice este considerat ca un candidat de
                 ¸
      multime frecvent˘
          ¸           a
      Se calculeaz˘ num˘rul suport al fiec˘rui candidat prin scanarea bazei
                  a     a                 a
      de date
      Dac˘ un candidat e inclus ˆ
          a                     ıntr–o tranzactie se incrementeaz˘ num˘rul
                                               ¸                  a     a
      suport




                        Figure: Diferiti parametri ai datelor de intrare
                                      ¸

 lucian.sasu@ieee.org (UNITBV)               Curs 6                        April 5, 2012   15 / 73
Complexitate si remedii




      Complexitate: O(NMw ) unde: N = num˘rul de tranzactii,
                                              a            ¸
      M = 2k − 1 este num˘rul de multimi candidat, w este num˘rul
                           a          ¸                      a
      maxim de obiecte dintr-o tranzactie
                                      ¸
      Modalit˘¸i de reducere a complexit˘¸ii:
             at                         at
             reducerea num˘rului de multimi candidat M – de exemplu prin
                             a            ¸
             principiul Apriori
             reducerea num˘rului de comparatii la confruntarea unei multimi cu o
                             a                 ¸                       ¸
             tranzactie prin structuri de date eficiente
                     ¸




 lucian.sasu@ieee.org (UNITBV)          Curs 6                     April 5, 2012   16 / 73
Principiul Apriori

Teorem˘ (Principiul Apriori)
      a
Dac˘ un set este frecvent, atunci oricare din subseturile sale este de
   a
asemenea frecvent.
Demonstratie: Pentru o tranzactie care contine multimea de obiecte
           ¸                    ¸           ¸        ¸
X = {c, d, e} este evident c˘ ea contine ¸i oricare din submultimile lui X :
                             a       ¸ s                       ¸
{c, d}, {c, e} etc. Mai mult, pentru o submultime a lui X poate exista o
                                               ¸
tranzactie care s˘ o contin˘, dar s˘ nu contin˘ ¸i pe X . Astfel, num˘rul
       ¸         a      ¸ a        a       ¸ as                      a
suport pentru o submultime a lui X este cel putin num˘rul suport al lui X .
                        ¸                       ¸       a
      teorema afirm˘ c˘:
                  a a

                                 ∀X , Y : (X ⊆ Y ) ⇒ s(X ) ≥ s(Y )

      adic˘ o proprietate de anti-monotonie a suportului
          a


 lucian.sasu@ieee.org (UNITBV)               Curs 6                  April 5, 2012   17 / 73
Eliminarea multimilor infrecvente
              ¸
      Contrapozitia teoremei este util˘ pentru a face eliminarea multimilor
                 ¸                     a                            ¸
      care nu pot fi frecvente: Dac˘ un set nu este frecvent, atunci oricare
                                    a
      superset al lui nu poate s˘ fie frecvent.
                                a




                            Figure: Retezarea multimilor infrecvente
                                                 ¸

 lucian.sasu@ieee.org (UNITBV)               Curs 6                    April 5, 2012   18 / 73
Strategie



      Se porne¸te cu 1-multimi formate din cˆte un obiect
              s           ¸                 a
      1-multimile nefrecvente se elimin˘
           ¸                           a
      Se genereaz˘ 2-multimi combinˆnd 1-multimi frecvente
                 a      ¸          a        ¸
      Pentru 2-multimile generate se calculeaz˘ suportul; cele nefrecvente
                  ¸                           a
      se elimin˘
               a
      Se continu˘ procedeul pentru 3-multimi etc.
                a                       ¸
      Pe baza principiului Apriori, pentru generarea k-multimilor frecvente
                                                          ¸
      candidat se iau ˆ considerare doar (k − 1)-multimile frecvente
                      ın                              ¸




 lucian.sasu@ieee.org (UNITBV)       Curs 6                   April 5, 2012   19 / 73
Exemplu de aplicare




           Figure: Generarea multimilor frecvente folosind principiul Apriori
                                ¸

 lucian.sasu@ieee.org (UNITBV)           Curs 6                       April 5, 2012   20 / 73
Schita algoritmului Apriori
    ¸



      k =1
      Se genereaz˘ 1-multimi frecvente
                 a      ¸
      Repet˘ pˆn˘ cˆnd nu se mai pot identifica multimi frecvente:
           a a a a                                ¸
             se genereaz˘ (k + 1)-multimi candidat folosind k-multimile frecvente
                         a            ¸                            ¸
             de la pasul anterior
             se ¸terg (k + 1)-multimile candidat care contin k-multimi infrecvente
                s                 ¸                      ¸         ¸
             (cu suportul sub prag)
             se contorizeaz˘ suportul fiec˘rei (k + 1)−multimi prin parcurgerea
                           a             a                 ¸
             tranzactiilor
                     ¸
             se ¸terg (k + 1)-multimile candidat care nu sunt frecvente
                s                 ¸




 lucian.sasu@ieee.org (UNITBV)           Curs 6                      April 5, 2012   21 / 73
Pseudocodul pentru algoritmul Apriori




 lucian.sasu@ieee.org (UNITBV)   Curs 6   April 5, 2012   22 / 73
Probleme ce trebuie rezolvate eficient pentru Apriori




      Generarea multimilor candidat ¸i retezarea
                   ¸                s
         1   generarea de k-multimi folosind (k − 1)-multimi frecvente
                                ¸                         ¸
         2   eliminarea candidatilor care nu au suportul peste pragul impus
                               ¸
      Calculul num˘rului suportul al unei multimi
                  a                          ¸




 lucian.sasu@ieee.org (UNITBV)           Curs 6                     April 5, 2012   23 / 73
Generarea multimilor candidat (var 1)
             ¸


      Generarea multimilor candidat:
                   ¸
             orice algoritm trebuie s˘ evite generarea de prea multe multimi candidat
                                     a                                  ¸
             trebuie s˘ asigure generarea unei familii complete de multimi candidat
                      a                                               ¸
             trebuie s˘ evite generarea aceleia¸i multimi candidat de mai multe ori
                      a                        s     ¸
             ({a, b, c} poate proveni din {a, b} ∪ {c} sau din {a} ∪ {b, c} etc.)
      Sunt mai multi algoritmi ˆ aceast˘ directie
                  ¸            ın      a      ¸

      Metoda fortei brute:
                ¸
             Se consider˘ fiecare posibilitate de a obtine o k-multime
                          a                          ¸           ¸
             Se elimin˘ candidatii cu suport prea mic
                        a      ¸
             Generarea e simpl˘, calculul suportului pentru fiecare candidat este
                              a
             costisitor
             Complexitatea metodei: O(d · 2d−1 )



 lucian.sasu@ieee.org (UNITBV)           Curs 6                      April 5, 2012   24 / 73
Generarea multimilor candidat (var 2)
             ¸



      Metoda Fk−1 × F1 :
             se pleac˘ de la fiecare (k − 1)-multime frecvent˘ ¸i se extinde cu
                      a                         ¸                 as
             obiecte (1-multimi) frecvente
                            ¸
             procedeul e complet
             se poate ajunge la generarea multipl˘ a aceleia¸i k-multimi
                                                  a              s       ¸
             evitare: fiecare multime este mentinut˘ sortat˘ lexicografic: {a, b, c} ¸i
                                 ¸            ¸     a          a                       s
             nu {b, a, c} sau altfel
             extinderea unei multimi Fk−1 = {ob1 , ob2 , . . . , obk−1 } se face numai cu
                                  ¸
             multimi F1 = {x} unde obk−1 < x
                 ¸
             complexitate: O( k k|Fk−1 ||F1 |)
             ˆ a se pot genera prea multe k-multimi candidat
             ınc˘                                 ¸




 lucian.sasu@ieee.org (UNITBV)             Curs 6                       April 5, 2012   25 / 73
Generarea multimilor candidat (var 3)
             ¸



      Metoda Fk−1 × Fk−1 :
             se reunesc dou˘ (k − 1)-multimi doar dac˘ primele k − 2 elemente din
                             a              ¸                a
             ele sunt identice (se presupune ordinea lexicografic˘):   a
             mai clar: dac˘ A = {a1 , a2 , . . . ak−1 } ¸i B = {b1 , b2 , . . . bk−1 } sunt
                           a                            s
             dou˘ (k − 1)-multimi, atunci ele se reunesc doar dac˘:
                 a             ¸                                           a

                                 ai = bi , ∀i = 1, . . . , k − 2, ak−1 = bk−1

      este varianta propus˘ ˆ articolul ce introduce algoritmul Apriori
                          a ın




 lucian.sasu@ieee.org (UNITBV)                 Curs 6                           April 5, 2012   26 / 73
Reducerea num˘rului de comparatii
             a                ¸
      Varianta brute force: se scaneaz˘ toat˘ baza de date pentru a
                                      a     a
      determina valoarea suport a fiec˘rei multimi candidat
                                      a       ¸
             Posibil, dar neeficient
      Pentru a reduce num˘rul de comparatii stoc˘m candidatii ˆ
                            a                ¸      a          ¸ ıntr–un
      arbore de dispersie (hash tree)
      Rezultat: ˆ loc de a compara fiecare tranzactie cu fiecare multime
                 ın                                  ¸                ¸
      candidat, se compar˘ fiecare tranzactie cu grupuri de candidati din
                           a                ¸                        ¸
      arbore; se vor actualiza doar valorile suport pentru multimi candidat
                                                              ¸
      din grupurile g˘site
                     a




 lucian.sasu@ieee.org (UNITBV)        Curs 6                  April 5, 2012   27 / 73
Crearea arborelui de dispersie, exemplu
      Consider˘m functia de dispersie h(p) = p mod 3
                a        ¸
      Impunem restrictia ca ˆ
                         ¸      ıntr–un nod frunz˘ s˘ nu avem mai mult de 3
                                                    a a
      multimi reprezentate; dac˘ este cazul, un nod va fi fragmentat ˆ
          ¸                         a                                          ın
      noduri copil
      Presupunem c˘ avem multimile candidat: {1, 4, 5}, {1, 2, 4}, {4, 5, 7},
                      a             ¸
      {1, 2, 5}, {4, 5, 8}, {1, 5, 9}, {1, 3, 6}, {2, 3, 4}, {5, 6, 7}, {3, 4, 5},
      {3, 5, 6}, {3, 5, 7}, {6, 8, 9}, {3, 6, 7}, {3, 6, 8},
      Reprezentarea ˆ arbore de dispersie:
                       ın




            Figure: Arbore de dispersie pentru familia de multimi candidat
                                                             ¸

 lucian.sasu@ieee.org (UNITBV)          Curs 6                      April 5, 2012   28 / 73
Reprezentarea multimilor candidati ˆ arbore de dispersie
                 ¸              ¸ ın




 lucian.sasu@ieee.org (UNITBV)   Curs 6        April 5, 2012   29 / 73
Reprezentarea multimilor candidati ˆ arbore de dispersie
                 ¸              ¸ ın




 lucian.sasu@ieee.org (UNITBV)   Curs 6        April 5, 2012   30 / 73
Reprezentarea multimilor candidati ˆ arbore de dispersie
                 ¸              ¸ ın




 lucian.sasu@ieee.org (UNITBV)   Curs 6        April 5, 2012   31 / 73
Generarea 3-submultimilor unei tranzactii
                  ¸                   ¸




 lucian.sasu@ieee.org (UNITBV)   Curs 6     April 5, 2012   32 / 73
C˘utarea potrivirilor ˆ
 a                    ıntre tranzactii ¸i multimi candidat
                                   ¸ s       ¸




Figure: Se ia in considerare primul obiect al unei posibile 3-multimi ce se
regaseste in tranzactie
 lucian.sasu@ieee.org (UNITBV)         Curs 6                       April 5, 2012   33 / 73
C˘utarea potrivirilor ˆ
 a                    ıntre tranzactii ¸i multimi candidat
                                   ¸ s       ¸




Figure: Se ia in considerare al doilea obiect al unei posibile 3-multimi ce se
regaseste in tranzactie


 lucian.sasu@ieee.org (UNITBV)          Curs 6                       April 5, 2012   34 / 73
C˘utarea potrivirilor ˆ
 a                    ıntre tranzactii ¸i multimi candidat
                                   ¸ s       ¸




Figure: Se ia in considerare al treilea obiect al unei posibile 3-multimi ce se
regaseste in tranzactie

 lucian.sasu@ieee.org (UNITBV)          Curs 6                       April 5, 2012   35 / 73
Complexitatea computational˘ a gener˘rii de multimi
                     ¸     a        a          ¸
frecvente


Factorii care influenteaz˘ complexitatea gener˘rii:
                    ¸ a                      a
    Alegerea valorii de minsup
             mic¸orarea lui minsup duce la mai multe multimi declarate ca frecvente
                s                                       ¸
      Num˘rul de obiecte din setul de date
         a
             poate duce la m˘rirea cardinalului maxim de multime frecvent˘
                            a                                 ¸             a
             dac˘ num˘rul de multimi frecvente cre¸te ¸i el atunci atˆt efortul
                a      a          ¸                 s s              a
             computational cˆt ¸i costul I/O cre¸te
                     ¸      a s                 s
      Dimensiunea bazei de date
             fiecare tranzactie se compar˘ cu multimile candidat; num˘r mare de
                           ¸            a        ¸                    a
             tranzactii ⇒ timp crescut pentru eliminarea multimilor candidat
                    ¸                                       ¸
             nefrecvente



 lucian.sasu@ieee.org (UNITBV)           Curs 6                      April 5, 2012   36 / 73
Complexitatea computational˘ a gener˘rii de multimi
                     ¸     a        a          ¸
frecvente
      Generarea 1-multimilor frecvente: O(Nw )
                     ¸
      Generarea multimilor candidat:
                   ¸
       w                                                       w
            (k−2)|Ck | < costul unific. a 2 k − 1-multimi <
                                                    ¸                (k−2)|Fk−1 |2
      k=2                                                      k=2
      Eliminarea de multimi candidat infrecvente:
                       ¸
                                         w
                                 O             k(k − 2)|Ck |
                                         k=2
      Calcularea suportului
                                                       k
                                     O       N        Cw αk
                                                 k
      unde αk este costul actualiz˘rii unei k-multimi din arborele de
                                  a              ¸
      dispersie.
 lucian.sasu@ieee.org (UNITBV)               Curs 6             April 5, 2012   37 / 73
Outline


1     Notiuni, definirea problemei
        ¸

2     Generarea multimilor frecvente
                   ¸

3     Generarea regulilor

4     Reprezentarea compact˘ a multimilor frecvente
                           a      ¸

5     Metode alternative pentru generarea de multimi frecvente
                                                ¸

6     Evaluarea regulilor de asociere

7     Efectul distributiei oblice
                      ¸



    lucian.sasu@ieee.org (UNITBV)       Curs 6                   April 5, 2012   38 / 73
Generarea regulilor



      Enunt: dˆndu–se o multime frecvent˘ L, s˘ se g˘seasc˘ toate
          ¸ a                ¸             a   a     a    a
      submultimile nevide f ⊂ L astfel ˆ at regula f −→ L − f s˘ aib˘
            ¸                          ıncˆ                    a    a
      confidenta minim˘ cerut˘
              ¸        a      a
      Pentru multimea frecvent˘ {A, B, C , D} regulile candidat ce se pot
                 ¸            a
      obtine sunt: ABC −→ D, ABD −→ C , ACD −→ B,
        ¸
      BCD −→ A, A −→ BCD, B −→ ACD, C −→ ABD,
      D −→ ABCAB −→ CD, AC −→ BD, AD −→ BC ,
      BC −→ AD, BD −→ AC , CD −→ AB
      Pentru k = |L| sunt 2k − 2 reguli care se pot genera (ignor˘m regulile
                                                                 a
      cu antecedent sau consecvent nul)




 lucian.sasu@ieee.org (UNITBV)      Curs 6                    April 5, 2012   39 / 73
Generarea regulilor

      Nu avem nicio proprietate de tip (anti)monotonie pentru confidenta
                                                                     ¸
      regulilor
                                       s ˜      ˜
             Pentru o regul˘ X −→ Y ¸i X ⊂ X , Y ⊂ Y nu avem nicio relatie
                           a                                           ¸
                                                      ˜    ˜
                              a ıntre c(X −→ Y ) ¸i c(X −→ Y )
             permanent valabil˘ ˆ                s
      Dar avem o teorem˘ ⌣
                       a ¨

Teorem˘
      a
Dac˘ o regul˘ X −→ Y − X nu satisface conditia de confident˘ minim˘
    a       a                               ¸            ¸a        a
c(X −→ Y − X ) ≥ minconf atunci nicio regul˘ X ′ −→ Y − X ′ cu X ′ ⊂ X
                                           a
nu va avea nici ea confidenta minim˘.
                          ¸       a

Demonstratie: pentru regulile X ′ −→ Y − X ′ ¸i X −→ Y − X confidentele
            ¸                                   s                       ¸
sunt s1 = σ(Y )/σ(X  ′ ) respectiv s = σ(Y )/σ(X ). Pentru X ′ ⊂ X avem
                                    2
c˘ σ(X ′ ) ≥ σ(X ). Ca atare, s1 ≤ s2 ¸i deci prima regul˘ nu poate avea o
 a                                    s                  a
confident˘ mai mare decˆt a doua.
         ¸a               a

 lucian.sasu@ieee.org (UNITBV)         Curs 6                    April 5, 2012   40 / 73
Generarea regulilor: strategie de retezare




                       Figure: Retezarea regulilor aplicand teorema 2


 lucian.sasu@ieee.org (UNITBV)             Curs 6                       April 5, 2012   41 / 73
Retezarea regulilor ˆ algoritmul Apriori
                    ın




      Se genereaz˘ toate regulile care au doar un element ˆ antecedent
                 a                                        ın
      Se combin˘ reguli care au ceva comun ˆ sufix: de exemplu, din
                 a                          ın
      {a, c, d} −→ {b} ¸i {a, b, d} −→ {c} se genereaz˘ {a, d} −→ {b, c}
                       s                              a
      Se fac elimin˘rile de reguli conform teoremei 2
                   a




 lucian.sasu@ieee.org (UNITBV)       Curs 6                 April 5, 2012   42 / 73
Generarea regulilor ˆ algoritmul Apriori
                    ın




 lucian.sasu@ieee.org (UNITBV)   Curs 6    April 5, 2012   43 / 73
Outline


1     Notiuni, definirea problemei
        ¸

2     Generarea multimilor frecvente
                   ¸

3     Generarea regulilor

4     Reprezentarea compact˘ a multimilor frecvente
                           a      ¸

5     Metode alternative pentru generarea de multimi frecvente
                                                ¸

6     Evaluarea regulilor de asociere

7     Efectul distributiei oblice
                      ¸



    lucian.sasu@ieee.org (UNITBV)       Curs 6                   April 5, 2012   44 / 73
Reprezentarea compact˘ a multimilor frecvente
                     a      ¸




      Num˘rul de multimi frecvente poate s˘ fie prohibitiv
         a          ¸                     a
      Se poate identifica o familie reprezentativ˘ de multimi frecvente din
                                                 a       ¸
      care se pot obtine toate celelalte multimi frecvente
                    ¸                       ¸
      Variante: multimi frecvente maximale ¸i multimi frecvente ˆ
                   ¸                       s     ¸              ınchise




 lucian.sasu@ieee.org (UNITBV)      Curs 6                    April 5, 2012   45 / 73
Multimi frecvente maximale
   ¸
Definitie
     ¸
O multime frecvent˘ maximal˘ este o multime frecvent˘ pentru care toate
      ¸             a          a         ¸          a
superseturile imediate sunt infrecvente.

(superset imediat al lui X este multime X ∪ {y }, y ∈ X )
                                   ¸




    Figure: Familia de multimi frecvente maximale este reprezentat˘ cu verde
                          ¸                                       a

 lucian.sasu@ieee.org (UNITBV)       Curs 6                      April 5, 2012   46 / 73
Utilitatea multimilor frecvente maximale
              ¸



      Toate multimile frecvente sunt generate de multimile frecvente
                  ¸                                  ¸
      maximale
      Ex: multimile frecvente din figura anterioar˘ sunt ˆ
                ¸                                a      ıntr-una din
      situatiile:
           ¸
         1   multimi care ˆ
                ¸         ıncep cu litera a ¸i contin c, d sau e
                                            s     ¸
         2   multimi care ˆ
                ¸         ıncep cu b, c, d sau e.
      Exist˘ algoritmi care pot exploata eficient multimile frecvente
           a                                        ¸
      maximale, f˘r˘ a genera toate submultimile
                  aa                        ¸
      Problem˘: multimile frecvente maximale nu dau o modalitate de
               a     ¸
      calcul al suportului submultimilor frecvente pe care le genereaz˘
                                 ¸                                    a




 lucian.sasu@ieee.org (UNITBV)            Curs 6                   April 5, 2012   47 / 73
Multimi frecvente ˆ
   ¸              ınchise




Definitie (Multimi ˆ
     ¸       ¸    ınchise)
O multime X este ˆ
      ¸            ınchis˘ dac˘ niciunul din superseturile imediate ale sale
                         a    a
nu are acela¸i suport ca ea.
            s

Definitie (Multimi frecvente ˆ
     ¸       ¸              ınchise)
O multime X este frecvent˘ ˆ
     ¸                   a ınchis˘ dac˘ este ˆ
                                 a    a      ınchis˘ ¸i frecvent˘.
                                                   as           a




 lucian.sasu@ieee.org (UNITBV)      Curs 6                    April 5, 2012   48 / 73
Multimi frecvente maximale vs. frecvente ˆ
   ¸                                     ınchise




 lucian.sasu@ieee.org (UNITBV)   Curs 6        April 5, 2012   49 / 73
Utilitatea multimilor frecvente ˆ
              ¸                 ınchise

Set de tranzactii:
              ¸




      3 grupuri: {A1, . . . , A5}, {B1, . . . , B5}, {C 1, . . . , C 5}
      Pentru minsup = 20% avem num˘r total de multimi frecvente = 93
                                  a              ¸
      Dar exist˘ doar 3 multimi frecvente ˆ
                  a             ¸          ınchise: {A1, . . . , A5},
      {B1, . . . , B5}, {C 1, . . . , C 5}


 lucian.sasu@ieee.org (UNITBV)            Curs 6                          April 5, 2012   50 / 73
Relatia ˆ
    ¸ ıntre diferite tipuri de multimi
                                  ¸




 lucian.sasu@ieee.org (UNITBV)   Curs 6   April 5, 2012   51 / 73
Outline


1     Notiuni, definirea problemei
        ¸

2     Generarea multimilor frecvente
                   ¸

3     Generarea regulilor

4     Reprezentarea compact˘ a multimilor frecvente
                           a      ¸

5     Metode alternative pentru generarea de multimi frecvente
                                                ¸

6     Evaluarea regulilor de asociere

7     Efectul distributiei oblice
                      ¸



    lucian.sasu@ieee.org (UNITBV)       Curs 6                   April 5, 2012   52 / 73
Metode alternative pentru generarea de multimi frecvente
                                          ¸
      Apriori este unul din primii algoritmi eficienti care evit˘ explozia
                                                   ¸           a
      combinatorial˘ a gener˘rii seturilor frecvente
                     a        a
      Principiul de baz˘: retezarea conform teoremei de la pagina 40
                        a
      Deficient˘: num˘rul mare de operatii de I/O
              ¸a       a                   ¸
      Deficient˘: pentru seturile de tranzactii dense performanta scade mult
              ¸a                             ¸                   ¸
      Metode alternative: “de la general la specific”, “de la specific la
      general”, c˘utare bidirectional˘
                  a             ¸     a
      Ideea de baz˘: determinarea multimilor frecvente este o problem˘ de
                    a                    ¸                                a
      c˘utare ˆ graful laticii multimilor
       a       ın                 ¸




 lucian.sasu@ieee.org (UNITBV)      Curs 6                   April 5, 2012   53 / 73
Metode alternative pentru generarea de multimi frecvente
                                          ¸




 lucian.sasu@ieee.org (UNITBV)   Curs 6       April 5, 2012   54 / 73
Metode alternative pentru generarea de multimi frecvente
                                          ¸




      “De la general la specific”: ˆ stilul algoritmului Apriori, de la o
                                  ın
      (k − 1)-multime se ajunge la o k-multime; strategia e bun˘ dac˘
                 ¸                          ¸                     a      a
      lungimea maxim˘ a unei multimi frecvente nu este prea mare
                       a           ¸
      “De la specific la general”: se poate adapta principiul Apriori
      C˘utare bidirectional˘: combinatie a precedentelor dou˘, necesit˘ mai
       a             ¸     a         ¸                      a         a
      mult˘ memorie, dar permite determinarea rapid˘ a zonei de delimitare
          a                                          a




 lucian.sasu@ieee.org (UNITBV)        Curs 6                    April 5, 2012   55 / 73
Metode alternative pentru generarea de multimi frecvente
                                          ¸
      Clase de echivalent˘: se partitioneaz˘ multimea nodurilor din latice ˆ
                         ¸a         ¸        a    ¸                        ın
      clase de echivalent˘; se trece la o alt˘ partitie numai cˆnd s–a
                        ¸a                   a      ¸          a
      terminat de explorat partitia curent˘
                                 ¸         a
      Exemple de partitionare: arbori de tip prefix/sufix
                       ¸




 lucian.sasu@ieee.org (UNITBV)       Curs 6                   April 5, 2012   56 / 73
Metode alternative pentru generarea de multimi frecvente
                                          ¸
      C˘utarea “mai ˆ ai ˆ l˘¸ime”: algoritmul Apriori functioneaz˘ astfel,
        a            ıntˆ ın at                            ¸      a
      trecˆnd la k-multimi numai dup˘ ce s–au epuizat toate
          a            ¸            a
      (k − 1)-multimile
                  ¸
      C˘utarea ˆ adˆncime este o variant˘ folosit˘ pentru a determina
        a       ın a                    a        a
      multimile frecvente maximale
          ¸
      Odat˘ g˘sit˘ o multime maximal˘, se poate face retezare
            a a a        ¸           a




                                 Figure: Parcugeri alternative
 lucian.sasu@ieee.org (UNITBV)               Curs 6              April 5, 2012   57 / 73
Outline


1     Notiuni, definirea problemei
        ¸

2     Generarea multimilor frecvente
                   ¸

3     Generarea regulilor

4     Reprezentarea compact˘ a multimilor frecvente
                           a      ¸

5     Metode alternative pentru generarea de multimi frecvente
                                                ¸

6     Evaluarea regulilor de asociere

7     Efectul distributiei oblice
                      ¸



    lucian.sasu@ieee.org (UNITBV)       Curs 6                   April 5, 2012   58 / 73
Problema evalu˘rii asocierilor
              a



      Algoritmii pot duce la producerea unui num˘r mare de reguli
                                                a
      Multe pot fi neinteresante sau redundante
      Exemplu de redundant˘: dac˘ regulile {A, B, C } −→ {D} ¸i
                         ¸a     a                            s
      {A, B} −→ {D} au acela¸i suport ¸i confident˘
                             s        s          ¸a
     Se pot folosi functii de m˘surare a gradului de interes care s˘ reduc˘
                       ¸       a                                   a      a
     /sorteze regulile
     ˆ cele prezentate pˆn˘ acum, doar suportul ¸i confidenta erau
     In                   a a                      s          ¸
     considerate




 lucian.sasu@ieee.org (UNITBV)      Curs 6                    April 5, 2012   59 / 73
Schema unui proces de extragere de cuno¸tinte
                                       s ¸




Figure: Pa¸ii unui proces de extragere de cuno¸tinte. Postprocesarea contine
           s                                  s ¸                       ¸
evaluarea regulilor
 lucian.sasu@ieee.org (UNITBV)        Curs 6                      April 5, 2012   60 / 73
Moduri de cuantificare al gradului de interes



      Functii obiective:
          ¸
             folosesc statistici derivate din date pentru a determina gradul de interes
             suport, confident˘, corelatie
                               ¸a        ¸
      Functii subiective:
          ¸
             se refer˘ la grad de interes pentru cunoa¸terea uman˘
                     a                                 s         a
             exemplu: {unt} −→ {paine} este de a¸teptat ¸i deci neinteresant; dar
                                                     s      s
             {scutece} −→ {bere} este ceva surprinz˘tora
             modalit˘¸i de ˆ
                     at     ıncorporare a subiectivismului:
                    vizualizare
                    filtrare bazat˘ pe ¸abloane
                                 a    s
                    ierarhie de concepte




 lucian.sasu@ieee.org (UNITBV)              Curs 6                     April 5, 2012   61 / 73
M˘sura obiectiv˘ a interesului
 a             a


      M˘sur˘ obiectiv˘: modalitate dependent˘ de date
       a a           a                      a
      Necesit˘ interventie minim˘ din partea utilizatorului
             a         ¸        a
      Punct de plecare pentru diferite m˘suri, pe perechi de variabile binare:
                                        a
      tabel de contingent˘
                        ¸a
                                          Y        Y    Total
                                  X      f11      f10    f1+
                                  X      f01      f00    f0+
                                 Total   f+1      f+0     N
      Table: Tabel de contingent˘ pentru regula X −→ Y . O valoare de forma (·)
                                  ¸a
      reprezint˘ lipsa obiectului asociat ˆ tranzatie. f1+ (f+1 ) reprezint˘ valoarea
               a                          ın      ¸                        a
      suport pentru X (respectiv Y ).




 lucian.sasu@ieee.org (UNITBV)           Curs 6                      April 5, 2012   62 / 73
Limit˘ri ale cuplului suport-confident˘
     a                              ¸a
      Consider˘m studiul leg˘turii ˆ
              a             a      ıntre cei care beau ceai sau cafea:
                                         Cafea        Cafea   Total
                                 Ceai     150          50      200
                                 Ceai     650          150     800
                                 Total    800          200    1000
                                 Table: Preferinte de consum.
                                                ¸

      Consider˘m regula: {Ceai} −→ {Cafea}: suport 15%, confident˘
                a                                                     ¸a
      75%
      Remarc˘m ˆ a c˘ procentul celor care beau cafea este de 80%, mai
               a ıns˘ a
      mult decˆt confidenta anterioar˘
                a          ¸           a
      Deci regula {Ceai} −→ {Cafea} d˘ o indicatie gre¸it˘ fat˘ de starea
                                          a        ¸      s a ¸a
      actual˘ a datelor; ¸tiind c˘ o persoan˘ bea ceai, asta va sc˘dea ¸ansa
             a           s       a           a                    a    s
      ei ca s˘ bea cafea
             a
      Cauza: m˘sura de confident˘ ignor˘ suportul multimii consecvent
                  a                ¸a      a             ¸
 lucian.sasu@ieee.org (UNITBV)               Curs 6                   April 5, 2012   63 / 73
Alte functii obiective de m˘surare a gradului de interes
         ¸                 a

      factor de ridicare (eng: lift)

                                                     c(A −→ B)
                                 lift(A −→ B) =
                                                        s(B)

      interes:
                                
                     s(A, B)     =1                pentru A ¸i B independente
                                                             s
        I (A, B) =            :   >1                pentru A ¸i B pozitiv corelate
                                                             s
                   s(A) · s(B) 
                                  <1                pentru A ¸i B negativ corelate
                                                             s

      corelatia Pearson pentru variabile binare:
            ¸
                                      f11 f00 − f01 f10
                                 φ=                     ∈ [−1, 1]
                                        f1+ f+1 f0+ f+0


 lucian.sasu@ieee.org (UNITBV)             Curs 6                      April 5, 2012   64 / 73
Alte functii obiective de m˘surare a gradului de interes
         ¸                 a




                                 Figure: M˘suri propuse
                                          a
 lucian.sasu@ieee.org (UNITBV)            Curs 6          April 5, 2012   65 / 73
Sortarea pe baza diferitelor functii
                                 ¸
      Pe baza functiilor se pot face ordon˘ri ale regulilor
                  ¸                       a
      Ordinea poate s˘ difere de la o functie de interes la alta
                      a                   ¸




                         Figure: 10 exemple de tabele de contingent˘
                                                                  ¸a




                           Figure: Sortarea pe baza diferitelor reguli
 lucian.sasu@ieee.org (UNITBV)                Curs 6                     April 5, 2012   66 / 73
Propriet˘¸i ale functiilor obiective
        at          ¸




De v˘zut din bibliografie:
    a
      Proprietatea de inversiune
      Proprietatea de ad˘ugare nul˘
                        a         a
      Proprietatea de scalare
De citit: paradoxul lui Simpson ¸i necesitatea stratific˘rii datelor ˆ
                                s                      a            ınaintea
extragerii de reguli




 lucian.sasu@ieee.org (UNITBV)        Curs 6                   April 5, 2012   67 / 73
Outline


1     Notiuni, definirea problemei
        ¸

2     Generarea multimilor frecvente
                   ¸

3     Generarea regulilor

4     Reprezentarea compact˘ a multimilor frecvente
                           a      ¸

5     Metode alternative pentru generarea de multimi frecvente
                                                ¸

6     Evaluarea regulilor de asociere

7     Efectul distributiei oblice
                      ¸



    lucian.sasu@ieee.org (UNITBV)       Curs 6                   April 5, 2012   68 / 73
Distributii oblice
        ¸

      Uneori datele au urm˘toarea form˘: foarte multe obiecte cu suport
                           a          a
      mic, putine cu suport mare
             ¸
      O atare distributie este puternic neechilibrat˘ (eng: skewed) ¸i nu
                       ¸                            a               s
      poate fi tratat˘ uniform
                     a
      Dac˘ pragul minsup este ales prea mic atunci algoritmul Apriori (sau
          a
      oricare altul) poate genera excesiv de multe multimi frecvente ⇒
                                                      ¸
      consum mare de memorie, posibil relatii ˆ ampl˘toare
                                             ¸ ıntˆ   a
      Dac˘ minsup este prea mare se pot rata ni¸te reguli utile
          a                                      s
             exemplu: bijuterii - se cump˘r˘ rar ˆ comparatie cu alte produse, dar
                                         aa      ın       ¸
             profitul adus e considerabil
      Pentru setul de date Public Use Microarray Sample census data
      distributia datelor este:
              ¸




 lucian.sasu@ieee.org (UNITBV)           Curs 6                     April 5, 2012   69 / 73
Distributii oblice
        ¸




 Figure: Distributie oblic˘ pentru setul de date textcolorbluePUMS census data
                 ¸        a

 lucian.sasu@ieee.org (UNITBV)       Curs 6                     April 5, 2012   70 / 73
Distributii oblice
        ¸


      Dac˘ se las˘ valoare minsup mic˘, atunci o multime poate s˘ combine
          a      a                   a              ¸           a
      obiecte cu suport mare ¸i mic
                             s
      Obiectele din multime ˆ a pot avea o corelatie mic˘
                       ¸    ıns˘                 ¸      a
      Atfel de multimi se numesc ¸abloane cu suport ˆ
                  ¸              s                  ıncruci¸at (eng:
                                                           s
      cross-support patterns)
      Pentru minsup = 0.05% avem 18847 perechi frecvente, din care 93%
      sunt cu obiecte din G1 ¸i G3; corelatia maxim˘ este ˆ a 0.029 - prea
                             s            ¸        a      ıns˘
      putin
        ¸
     Chiar m˘rirea pragului minconf poate fi inefectiv˘; consecventul unei
             a                                       a
     reguli poate avea suport mare deci ¸abloane cu suport ˆ
                                        s                  ıncluci¸at pot
                                                                  s
     ˆ a s˘ apar˘
     ınc˘ a      a



 lucian.sasu@ieee.org (UNITBV)      Curs 6                   April 5, 2012   71 / 73
Distributii oblice
        ¸

Definitie (Sabloane cu suport ˆ
     ¸ ¸                     ıncruci¸at)
                                    s
Un ¸ablon cu suport ˆ
    s                ıncruci¸at este o multime X = {i1 , i2 , . . . , ik } pentru
                            s             ¸
care raportul suporturilor

                                            min[s(i1 ), s(i2 ), . . . , s(ik )]
                                 r (X ) =                                                         (3)
                                            max[s(i1 ), s(i2 ), . . . , s(ik )]
este mai mic decˆt un prag specificat de utilizator hc .
                a

      Un alt mod de detectare a ¸abloanelor cu suport ˆ
                                s                     ıncruci¸at: se
                                                             s
      examineaz˘ confidenta minim˘ care se poate extrage dintr–o multime
                 a         ¸      a                                  ¸
      dat˘, i.e. m˘sura h-confident˘:
         a         a             ¸a

                                             s (i1 , i2 , . . . , ik )
                                        max [s(i1 ), s(i2 ), . . . , s(ik )]


 lucian.sasu@ieee.org (UNITBV)                       Curs 6                       April 5, 2012   72 / 73
Distributii oblice
        ¸




      Criteriul de eliminare a unui ¸ablon ˆ
                                    s      ıncruci¸at X : ¸ablonul se elimin˘
                                                  s       s                 a
      dac˘a
                                         min[s(i1 ), s(i2 ), . . . , s(ik )]
                   h − confidenta(X ) ≤                                       ≤ hc
                                         max[s(i1 ), s(i2 ), . . . , s(ik )]

      Valoarea peste hc a h-confidentei ne asigur˘ c˘ obiectele din multime
                                       ¸        a a                   ¸
      sunt puternic corelate ˆ
                             ıntre ele




 lucian.sasu@ieee.org (UNITBV)           Curs 6                           April 5, 2012   73 / 73

More Related Content

Recently uploaded

Raport proiect transfrontalier Culori fermecate.pdf
Raport proiect transfrontalier Culori fermecate.pdfRaport proiect transfrontalier Culori fermecate.pdf
Raport proiect transfrontalier Culori fermecate.pdf
savinioana
 
Căutarea binară într-un vector proiect informatica
Căutarea binară într-un vector proiect informaticaCăutarea binară într-un vector proiect informatica
Căutarea binară într-un vector proiect informatica
MarioButnaru
 
Să ne împrietenim cu lectura Ermurachi Nina/ Pruncia Monica
Să ne împrietenim cu lectura Ermurachi Nina/ Pruncia MonicaSă ne împrietenim cu lectura Ermurachi Nina/ Pruncia Monica
Să ne împrietenim cu lectura Ermurachi Nina/ Pruncia Monica
NinaTofanErmurachi
 
Papa Francisco canoniza los martires de Rumanía (Rumanian).pptx
Papa Francisco canoniza los martires de Rumanía (Rumanian).pptxPapa Francisco canoniza los martires de Rumanía (Rumanian).pptx
Papa Francisco canoniza los martires de Rumanía (Rumanian).pptx
Martin M Flynn
 
Proces verbal sedinta cu parintii (26.09.2023).docx
Proces verbal sedinta cu parintii (26.09.2023).docxProces verbal sedinta cu parintii (26.09.2023).docx
Proces verbal sedinta cu parintii (26.09.2023).docx
AureliaTertereanu
 
Prezentare Povestea lui Harap Alb de Ion Creangă
Prezentare Povestea lui Harap Alb de Ion CreangăPrezentare Povestea lui Harap Alb de Ion Creangă
Prezentare Povestea lui Harap Alb de Ion Creangă
stanalun54
 
PARTENERIAT TRANSFRONTALIER REPUBLICA MOLDOVA-ROMÂNIA
PARTENERIAT TRANSFRONTALIER REPUBLICA MOLDOVA-ROMÂNIAPARTENERIAT TRANSFRONTALIER REPUBLICA MOLDOVA-ROMÂNIA
PARTENERIAT TRANSFRONTALIER REPUBLICA MOLDOVA-ROMÂNIA
FlorinaTrofin
 
Proiect Mihai Eminescu poet national .pptx
Proiect Mihai Eminescu poet national .pptxProiect Mihai Eminescu poet national .pptx
Proiect Mihai Eminescu poet national .pptx
EuSimina
 
Proiect transfrontalier Grecu Larisa .pptx
Proiect transfrontalier Grecu Larisa .pptxProiect transfrontalier Grecu Larisa .pptx
Proiect transfrontalier Grecu Larisa .pptx
AlexandrinaCn
 

Recently uploaded (9)

Raport proiect transfrontalier Culori fermecate.pdf
Raport proiect transfrontalier Culori fermecate.pdfRaport proiect transfrontalier Culori fermecate.pdf
Raport proiect transfrontalier Culori fermecate.pdf
 
Căutarea binară într-un vector proiect informatica
Căutarea binară într-un vector proiect informaticaCăutarea binară într-un vector proiect informatica
Căutarea binară într-un vector proiect informatica
 
Să ne împrietenim cu lectura Ermurachi Nina/ Pruncia Monica
Să ne împrietenim cu lectura Ermurachi Nina/ Pruncia MonicaSă ne împrietenim cu lectura Ermurachi Nina/ Pruncia Monica
Să ne împrietenim cu lectura Ermurachi Nina/ Pruncia Monica
 
Papa Francisco canoniza los martires de Rumanía (Rumanian).pptx
Papa Francisco canoniza los martires de Rumanía (Rumanian).pptxPapa Francisco canoniza los martires de Rumanía (Rumanian).pptx
Papa Francisco canoniza los martires de Rumanía (Rumanian).pptx
 
Proces verbal sedinta cu parintii (26.09.2023).docx
Proces verbal sedinta cu parintii (26.09.2023).docxProces verbal sedinta cu parintii (26.09.2023).docx
Proces verbal sedinta cu parintii (26.09.2023).docx
 
Prezentare Povestea lui Harap Alb de Ion Creangă
Prezentare Povestea lui Harap Alb de Ion CreangăPrezentare Povestea lui Harap Alb de Ion Creangă
Prezentare Povestea lui Harap Alb de Ion Creangă
 
PARTENERIAT TRANSFRONTALIER REPUBLICA MOLDOVA-ROMÂNIA
PARTENERIAT TRANSFRONTALIER REPUBLICA MOLDOVA-ROMÂNIAPARTENERIAT TRANSFRONTALIER REPUBLICA MOLDOVA-ROMÂNIA
PARTENERIAT TRANSFRONTALIER REPUBLICA MOLDOVA-ROMÂNIA
 
Proiect Mihai Eminescu poet national .pptx
Proiect Mihai Eminescu poet national .pptxProiect Mihai Eminescu poet national .pptx
Proiect Mihai Eminescu poet national .pptx
 
Proiect transfrontalier Grecu Larisa .pptx
Proiect transfrontalier Grecu Larisa .pptxProiect transfrontalier Grecu Larisa .pptx
Proiect transfrontalier Grecu Larisa .pptx
 

Featured

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
 

Featured (20)

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 

Curs 6 Data Mining

  • 1. Introducere ˆ Data Mining ın Analiza asocierilor: concepte de baz˘ a Lucian Sasu, Ph.D. Universitatea Transilvania din Bra¸ov, Facultatea de Matematic˘ ¸i Informatic˘ s as a April 5, 2012 lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 1 / 73
  • 2. Outline 1 Notiuni, definirea problemei ¸ 2 Generarea multimilor frecvente ¸ 3 Generarea regulilor 4 Reprezentarea compact˘ a multimilor frecvente a ¸ 5 Metode alternative pentru generarea de multimi frecvente ¸ 6 Evaluarea regulilor de asociere 7 Efectul distributiei oblice ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 2 / 73
  • 3. Notiuni ¸ ˆ cadrul vˆnz˘rilor din magazine se ˆ In a a ınregistreaz˘ continutul co¸urilor a ¸ s de cump˘r˘turi achizitionate = tranzactii aa ¸ ¸ Problem˘: pentru un set de tranzactii s˘ se determine regulile care a ¸ a dau predispozitia aparitiei unui obiect pe baza existentei altor obiecte ¸ ¸ ¸ ˆ ıntr-un co¸s Exemplu de tranzactii: ¸ TID Obiecte 1 {pˆine, lapte} a 2 {pˆine, scutece, bere, ou˘} a a 3 {lapte, scutece, bere, suc} 4 {pˆine, lapte, scutece, bere} a 5 {pˆine, lapte, scutece, suc} a Table: Tranzactii de tip co¸ de cump˘r˘turi ¸ s aa TID = Transaction ID Exemplu de regul˘ ce se poate extrage: {scutece} −→ {bere} a lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 3 / 73
  • 4. Notiuni ¸ Regula sugereaz˘ c˘ ar exista o relatie de dependent˘ ˆ a a ¸ ¸a ıntre vˆnzarea a de scutece ¸i cea de bere s Remarc˘: regula dat˘ este directional˘; nu ˆ a a ¸ a ınseamn˘ neap˘rat ¸i c˘ a a s a {bere} −→ {scutece} Moduri de exploatare a unor astfel de reguli: se scade pretul obiectelor din antecedentul regulii, se cre¸te pretul celor ¸ s ¸ din consecvent se face cross-selling se decide dispunerea pe raft a produselor se face reclam˘ sau ofert˘ personalizat˘, gruparea produselor ˆ a a a ın cataloage de prezentare Alte medii de aplicare: bioinformatic˘, diagnostic medical, web a mining, analiza ¸tiintific˘ a datelor s ¸ a lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 4 / 73
  • 5. Notiuni ¸ Probleme: descoperirea de pattern–uri ˆ seturi mari de date este o problem˘ ın a intensiv˘ computational a ¸ o parte din relatiile descoperite pot fi pur ¸i simplu rodul ˆ ampl˘rii ¸ s ıntˆ a evaluarea regulilor obtinute este un pas absolut necesar ¸ semnul de implicatie ˆ acest context ˆ ¸ ın ınseamn˘ aparitie concomitent˘, a ¸ a nu cauzalitate de citit: Correlation does not imply causation (Wikipedia) lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 5 / 73
  • 6. Notiuni, definitii ¸ ¸ Posibil mod de reprezentare a tranzactiilor: ¸ TID Pˆine a Lapte Scutece Bere Ou˘a suc 1 1 1 0 0 0 0 2 1 0 1 1 1 0 3 0 1 1 1 0 1 4 1 1 1 1 0 0 5 1 1 1 0 0 1 Table: Reprezentare binar˘ a datelor tranzactiei a ¸ Reprezentarea binar˘ este asimetric˘: prezenta unui produs este mai a a ¸ important˘ decˆt lipsa lui a a Reprezentare voit simplist˘, omitˆnd cantitatea de achizitie a ¸a ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 6 / 73
  • 7. Notiuni, definitii ¸ ¸ Multime de produse (simplu: multime; eng: itemset) — colectie de ¸ ¸ ¸ unul sau mai multe obiecte k–multime (eng: k-itemset) — o multime compus˘ din k obiecte ¸ ¸ a (produse) Num˘rul de suport al unei multimi σ(·) (eng: support count) — a ¸ frecventa de aparitie a acelei multimi ¸ ¸ ¸ σ(X ) = |{ti : X ⊆ ti , ti ∈ T }| unde T este multimea tuturor ¸ tranzactiilor, |U| este num˘rul de elemente (cardinalul) al multimii U ¸ a ¸ Exemplu: σ({lapte, paine, scutece}) = 2 lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 7 / 73
  • 8. Notiuni, definitii ¸ ¸ Regul˘ de asociere (regul˘): o expresie de forma X −→ Y unde X , Y a a sunt multimi de produse, X ∩ Y = ∅ ¸ Definitie (Suportul unei reguli) ¸ Suportul regulii X −→ Y pentru o multime de N tranzactii este fractia de ¸ ¸ ¸ tranzactii care contin produsele din X ∪ Y : ¸ ¸ σ(X ∪ Y ) s(X −→ Y ) = (1) N Definitie (Confidenta unei reguli) ¸ ¸ Confidenta regulii X −→ Y este num˘rul de tranzactii care contin pe X ¸i ¸ a ¸ ¸ s Y raportat la cele care contin doar pe X : ¸ σ(X ∪ Y ) c(X −→ Y ) = (2) σ(X ) lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 8 / 73
  • 9. Notiuni, definitii ¸ ¸ Exemplu: pentru datele din tabelul de mai jos TID Obiecte 1 {pˆine, lapte} a 2 {pˆine, scutece, bere, ou˘} a a 3 {lapte, scutece, bere, suc} 4 {pˆine, lapte, scutece, bere} a 5 {pˆine, lapte, scutece, suc} a Consider˘m regula {lapte, scutece} −→ {bere} a Num˘rul de suport pentru {lapte, scutece, bere} este 2; num˘rul total a a de tranzactii este 5, deci suportul este 2/5 ¸ Confidenta: sunt 3 tranzactii care contin {lapte, scutece}, deci ¸ ¸ ¸ confidenta este 2/3 ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 9 / 73
  • 10. Notiuni, definitii ¸ ¸ De ce se folose¸te suportul? s o regul˘ cu suport mic poate ˆ a ınsemna o leg˘tur˘ ˆ ampl˘toare a a ıntˆ a o regul˘ cu suport mic s–ar putea s˘ fie neprofitabil˘ a a a suportul poate elimina regulile neinteresante De ce se folose¸te confidenta? s ¸ m˘soar˘ ˆ a a ıncrederea ˆ rezultatul aplic˘rii unei reguli ın a pentru regula X −→ Y o confident˘ mare arat˘ ˆ ce m˘sur˘ aparitia ¸a a ın a a ¸ multimii X va duce la aparitia multimii Y ¸ ¸ ¸ c(X −→ Y ) poate fi interpretat˘ ca probabilitatea conditionat˘ a ¸ a P(Y |X ) lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 10 / 73
  • 11. Notiuni, definitii ¸ ¸ Definitie (Descoperirea relatiilor de asociere) ¸ ¸ Dˆndu–se o multime de tranzactii T , s˘ se g˘seasc˘ toate regulile cu a ¸ ¸ a a a suport ≥ minsup ¸i confident˘ conf ≥ minconf , unde minsup ¸i minconf s ¸a s sunt praguri date. Abordare brute-force: se genereaz˘ toate regulile de asociere posibile a se calculeaz˘ suportul ¸i confidenta fiec˘rei reguli a s ¸ a se elimin˘ regulile care nu respect˘ pragurile minconf ¸i minsup date a a s Complexitate de calcul prohibitiv˘: num˘rul de reguli pentru d a a produse este: R = 3d − 2d+1 + 1 (tem˘ pentru acas˘) a a Pentru cele 6 produse din tranzactiile date am avea 602 reguli; pentru ¸ minsup = 20% ¸i minconf = 50%, mai mult de 80% din regulile s generate sunt eliminate! lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 11 / 73
  • 12. Pa¸i de lucru s Observatie important˘: suportul regulii X −→ Y depinde doar de ¸ a num˘rul suport al multimii X ∪ Y a ¸ Pentru multimea {bere, scutece, lapte} se pot genera 6 reguli: ¸ {bere, scutece} −→ {lapte}, {bere} −→ {scutece, lapte} etc.; toate acestea au acela¸i suport, indiferent de partitionarea ˆ s ¸ ın antecedent/consecvent Dac˘ o multime nu este frecvent˘, atunci toate regulile ce se pot a ¸ a construi pe baza ei pot fi eliminate f˘r˘ a le mai calcula confidenta aa ¸ Concluzie: se poate decupla calculul suportului ¸i al confidentei s ¸ Pa¸ii de lucru: s 1 generarea multimilor frecvente, i.e. al celor pentru care suportul este ¸ cel putin minsup ¸ 2 generarea regulilor pe baza multimilor frecvente ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 12 / 73
  • 13. Outline 1 Notiuni, definirea problemei ¸ 2 Generarea multimilor frecvente ¸ 3 Generarea regulilor 4 Reprezentarea compact˘ a multimilor frecvente a ¸ 5 Metode alternative pentru generarea de multimi frecvente ¸ 6 Evaluarea regulilor de asociere 7 Efectul distributiei oblice ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 13 / 73
  • 14. Problema gener˘rii multimilor frecvente a ¸ Generarea multimilor frecvente este solicitant˘ computational: pentru o ¸ a ¸ multime de k produse se pot realiza 2 ¸ k − 1 potentiale multimi frecvente ¸ ¸ (se exclude ∅) Figure: Latice de multimi ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 14 / 73
  • 15. Varianta brute-force: Fiecare multime candidat din latice este considerat ca un candidat de ¸ multime frecvent˘ ¸ a Se calculeaz˘ num˘rul suport al fiec˘rui candidat prin scanarea bazei a a a de date Dac˘ un candidat e inclus ˆ a ıntr–o tranzactie se incrementeaz˘ num˘rul ¸ a a suport Figure: Diferiti parametri ai datelor de intrare ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 15 / 73
  • 16. Complexitate si remedii Complexitate: O(NMw ) unde: N = num˘rul de tranzactii, a ¸ M = 2k − 1 este num˘rul de multimi candidat, w este num˘rul a ¸ a maxim de obiecte dintr-o tranzactie ¸ Modalit˘¸i de reducere a complexit˘¸ii: at at reducerea num˘rului de multimi candidat M – de exemplu prin a ¸ principiul Apriori reducerea num˘rului de comparatii la confruntarea unei multimi cu o a ¸ ¸ tranzactie prin structuri de date eficiente ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 16 / 73
  • 17. Principiul Apriori Teorem˘ (Principiul Apriori) a Dac˘ un set este frecvent, atunci oricare din subseturile sale este de a asemenea frecvent. Demonstratie: Pentru o tranzactie care contine multimea de obiecte ¸ ¸ ¸ ¸ X = {c, d, e} este evident c˘ ea contine ¸i oricare din submultimile lui X : a ¸ s ¸ {c, d}, {c, e} etc. Mai mult, pentru o submultime a lui X poate exista o ¸ tranzactie care s˘ o contin˘, dar s˘ nu contin˘ ¸i pe X . Astfel, num˘rul ¸ a ¸ a a ¸ as a suport pentru o submultime a lui X este cel putin num˘rul suport al lui X . ¸ ¸ a teorema afirm˘ c˘: a a ∀X , Y : (X ⊆ Y ) ⇒ s(X ) ≥ s(Y ) adic˘ o proprietate de anti-monotonie a suportului a lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 17 / 73
  • 18. Eliminarea multimilor infrecvente ¸ Contrapozitia teoremei este util˘ pentru a face eliminarea multimilor ¸ a ¸ care nu pot fi frecvente: Dac˘ un set nu este frecvent, atunci oricare a superset al lui nu poate s˘ fie frecvent. a Figure: Retezarea multimilor infrecvente ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 18 / 73
  • 19. Strategie Se porne¸te cu 1-multimi formate din cˆte un obiect s ¸ a 1-multimile nefrecvente se elimin˘ ¸ a Se genereaz˘ 2-multimi combinˆnd 1-multimi frecvente a ¸ a ¸ Pentru 2-multimile generate se calculeaz˘ suportul; cele nefrecvente ¸ a se elimin˘ a Se continu˘ procedeul pentru 3-multimi etc. a ¸ Pe baza principiului Apriori, pentru generarea k-multimilor frecvente ¸ candidat se iau ˆ considerare doar (k − 1)-multimile frecvente ın ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 19 / 73
  • 20. Exemplu de aplicare Figure: Generarea multimilor frecvente folosind principiul Apriori ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 20 / 73
  • 21. Schita algoritmului Apriori ¸ k =1 Se genereaz˘ 1-multimi frecvente a ¸ Repet˘ pˆn˘ cˆnd nu se mai pot identifica multimi frecvente: a a a a ¸ se genereaz˘ (k + 1)-multimi candidat folosind k-multimile frecvente a ¸ ¸ de la pasul anterior se ¸terg (k + 1)-multimile candidat care contin k-multimi infrecvente s ¸ ¸ ¸ (cu suportul sub prag) se contorizeaz˘ suportul fiec˘rei (k + 1)−multimi prin parcurgerea a a ¸ tranzactiilor ¸ se ¸terg (k + 1)-multimile candidat care nu sunt frecvente s ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 21 / 73
  • 22. Pseudocodul pentru algoritmul Apriori lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 22 / 73
  • 23. Probleme ce trebuie rezolvate eficient pentru Apriori Generarea multimilor candidat ¸i retezarea ¸ s 1 generarea de k-multimi folosind (k − 1)-multimi frecvente ¸ ¸ 2 eliminarea candidatilor care nu au suportul peste pragul impus ¸ Calculul num˘rului suportul al unei multimi a ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 23 / 73
  • 24. Generarea multimilor candidat (var 1) ¸ Generarea multimilor candidat: ¸ orice algoritm trebuie s˘ evite generarea de prea multe multimi candidat a ¸ trebuie s˘ asigure generarea unei familii complete de multimi candidat a ¸ trebuie s˘ evite generarea aceleia¸i multimi candidat de mai multe ori a s ¸ ({a, b, c} poate proveni din {a, b} ∪ {c} sau din {a} ∪ {b, c} etc.) Sunt mai multi algoritmi ˆ aceast˘ directie ¸ ın a ¸ Metoda fortei brute: ¸ Se consider˘ fiecare posibilitate de a obtine o k-multime a ¸ ¸ Se elimin˘ candidatii cu suport prea mic a ¸ Generarea e simpl˘, calculul suportului pentru fiecare candidat este a costisitor Complexitatea metodei: O(d · 2d−1 ) lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 24 / 73
  • 25. Generarea multimilor candidat (var 2) ¸ Metoda Fk−1 × F1 : se pleac˘ de la fiecare (k − 1)-multime frecvent˘ ¸i se extinde cu a ¸ as obiecte (1-multimi) frecvente ¸ procedeul e complet se poate ajunge la generarea multipl˘ a aceleia¸i k-multimi a s ¸ evitare: fiecare multime este mentinut˘ sortat˘ lexicografic: {a, b, c} ¸i ¸ ¸ a a s nu {b, a, c} sau altfel extinderea unei multimi Fk−1 = {ob1 , ob2 , . . . , obk−1 } se face numai cu ¸ multimi F1 = {x} unde obk−1 < x ¸ complexitate: O( k k|Fk−1 ||F1 |) ˆ a se pot genera prea multe k-multimi candidat ınc˘ ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 25 / 73
  • 26. Generarea multimilor candidat (var 3) ¸ Metoda Fk−1 × Fk−1 : se reunesc dou˘ (k − 1)-multimi doar dac˘ primele k − 2 elemente din a ¸ a ele sunt identice (se presupune ordinea lexicografic˘): a mai clar: dac˘ A = {a1 , a2 , . . . ak−1 } ¸i B = {b1 , b2 , . . . bk−1 } sunt a s dou˘ (k − 1)-multimi, atunci ele se reunesc doar dac˘: a ¸ a ai = bi , ∀i = 1, . . . , k − 2, ak−1 = bk−1 este varianta propus˘ ˆ articolul ce introduce algoritmul Apriori a ın lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 26 / 73
  • 27. Reducerea num˘rului de comparatii a ¸ Varianta brute force: se scaneaz˘ toat˘ baza de date pentru a a a determina valoarea suport a fiec˘rei multimi candidat a ¸ Posibil, dar neeficient Pentru a reduce num˘rul de comparatii stoc˘m candidatii ˆ a ¸ a ¸ ıntr–un arbore de dispersie (hash tree) Rezultat: ˆ loc de a compara fiecare tranzactie cu fiecare multime ın ¸ ¸ candidat, se compar˘ fiecare tranzactie cu grupuri de candidati din a ¸ ¸ arbore; se vor actualiza doar valorile suport pentru multimi candidat ¸ din grupurile g˘site a lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 27 / 73
  • 28. Crearea arborelui de dispersie, exemplu Consider˘m functia de dispersie h(p) = p mod 3 a ¸ Impunem restrictia ca ˆ ¸ ıntr–un nod frunz˘ s˘ nu avem mai mult de 3 a a multimi reprezentate; dac˘ este cazul, un nod va fi fragmentat ˆ ¸ a ın noduri copil Presupunem c˘ avem multimile candidat: {1, 4, 5}, {1, 2, 4}, {4, 5, 7}, a ¸ {1, 2, 5}, {4, 5, 8}, {1, 5, 9}, {1, 3, 6}, {2, 3, 4}, {5, 6, 7}, {3, 4, 5}, {3, 5, 6}, {3, 5, 7}, {6, 8, 9}, {3, 6, 7}, {3, 6, 8}, Reprezentarea ˆ arbore de dispersie: ın Figure: Arbore de dispersie pentru familia de multimi candidat ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 28 / 73
  • 29. Reprezentarea multimilor candidati ˆ arbore de dispersie ¸ ¸ ın lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 29 / 73
  • 30. Reprezentarea multimilor candidati ˆ arbore de dispersie ¸ ¸ ın lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 30 / 73
  • 31. Reprezentarea multimilor candidati ˆ arbore de dispersie ¸ ¸ ın lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 31 / 73
  • 32. Generarea 3-submultimilor unei tranzactii ¸ ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 32 / 73
  • 33. C˘utarea potrivirilor ˆ a ıntre tranzactii ¸i multimi candidat ¸ s ¸ Figure: Se ia in considerare primul obiect al unei posibile 3-multimi ce se regaseste in tranzactie lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 33 / 73
  • 34. C˘utarea potrivirilor ˆ a ıntre tranzactii ¸i multimi candidat ¸ s ¸ Figure: Se ia in considerare al doilea obiect al unei posibile 3-multimi ce se regaseste in tranzactie lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 34 / 73
  • 35. C˘utarea potrivirilor ˆ a ıntre tranzactii ¸i multimi candidat ¸ s ¸ Figure: Se ia in considerare al treilea obiect al unei posibile 3-multimi ce se regaseste in tranzactie lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 35 / 73
  • 36. Complexitatea computational˘ a gener˘rii de multimi ¸ a a ¸ frecvente Factorii care influenteaz˘ complexitatea gener˘rii: ¸ a a Alegerea valorii de minsup mic¸orarea lui minsup duce la mai multe multimi declarate ca frecvente s ¸ Num˘rul de obiecte din setul de date a poate duce la m˘rirea cardinalului maxim de multime frecvent˘ a ¸ a dac˘ num˘rul de multimi frecvente cre¸te ¸i el atunci atˆt efortul a a ¸ s s a computational cˆt ¸i costul I/O cre¸te ¸ a s s Dimensiunea bazei de date fiecare tranzactie se compar˘ cu multimile candidat; num˘r mare de ¸ a ¸ a tranzactii ⇒ timp crescut pentru eliminarea multimilor candidat ¸ ¸ nefrecvente lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 36 / 73
  • 37. Complexitatea computational˘ a gener˘rii de multimi ¸ a a ¸ frecvente Generarea 1-multimilor frecvente: O(Nw ) ¸ Generarea multimilor candidat: ¸ w w (k−2)|Ck | < costul unific. a 2 k − 1-multimi < ¸ (k−2)|Fk−1 |2 k=2 k=2 Eliminarea de multimi candidat infrecvente: ¸ w O k(k − 2)|Ck | k=2 Calcularea suportului k O N Cw αk k unde αk este costul actualiz˘rii unei k-multimi din arborele de a ¸ dispersie. lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 37 / 73
  • 38. Outline 1 Notiuni, definirea problemei ¸ 2 Generarea multimilor frecvente ¸ 3 Generarea regulilor 4 Reprezentarea compact˘ a multimilor frecvente a ¸ 5 Metode alternative pentru generarea de multimi frecvente ¸ 6 Evaluarea regulilor de asociere 7 Efectul distributiei oblice ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 38 / 73
  • 39. Generarea regulilor Enunt: dˆndu–se o multime frecvent˘ L, s˘ se g˘seasc˘ toate ¸ a ¸ a a a a submultimile nevide f ⊂ L astfel ˆ at regula f −→ L − f s˘ aib˘ ¸ ıncˆ a a confidenta minim˘ cerut˘ ¸ a a Pentru multimea frecvent˘ {A, B, C , D} regulile candidat ce se pot ¸ a obtine sunt: ABC −→ D, ABD −→ C , ACD −→ B, ¸ BCD −→ A, A −→ BCD, B −→ ACD, C −→ ABD, D −→ ABCAB −→ CD, AC −→ BD, AD −→ BC , BC −→ AD, BD −→ AC , CD −→ AB Pentru k = |L| sunt 2k − 2 reguli care se pot genera (ignor˘m regulile a cu antecedent sau consecvent nul) lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 39 / 73
  • 40. Generarea regulilor Nu avem nicio proprietate de tip (anti)monotonie pentru confidenta ¸ regulilor s ˜ ˜ Pentru o regul˘ X −→ Y ¸i X ⊂ X , Y ⊂ Y nu avem nicio relatie a ¸ ˜ ˜ a ıntre c(X −→ Y ) ¸i c(X −→ Y ) permanent valabil˘ ˆ s Dar avem o teorem˘ ⌣ a ¨ Teorem˘ a Dac˘ o regul˘ X −→ Y − X nu satisface conditia de confident˘ minim˘ a a ¸ ¸a a c(X −→ Y − X ) ≥ minconf atunci nicio regul˘ X ′ −→ Y − X ′ cu X ′ ⊂ X a nu va avea nici ea confidenta minim˘. ¸ a Demonstratie: pentru regulile X ′ −→ Y − X ′ ¸i X −→ Y − X confidentele ¸ s ¸ sunt s1 = σ(Y )/σ(X ′ ) respectiv s = σ(Y )/σ(X ). Pentru X ′ ⊂ X avem 2 c˘ σ(X ′ ) ≥ σ(X ). Ca atare, s1 ≤ s2 ¸i deci prima regul˘ nu poate avea o a s a confident˘ mai mare decˆt a doua. ¸a a lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 40 / 73
  • 41. Generarea regulilor: strategie de retezare Figure: Retezarea regulilor aplicand teorema 2 lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 41 / 73
  • 42. Retezarea regulilor ˆ algoritmul Apriori ın Se genereaz˘ toate regulile care au doar un element ˆ antecedent a ın Se combin˘ reguli care au ceva comun ˆ sufix: de exemplu, din a ın {a, c, d} −→ {b} ¸i {a, b, d} −→ {c} se genereaz˘ {a, d} −→ {b, c} s a Se fac elimin˘rile de reguli conform teoremei 2 a lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 42 / 73
  • 43. Generarea regulilor ˆ algoritmul Apriori ın lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 43 / 73
  • 44. Outline 1 Notiuni, definirea problemei ¸ 2 Generarea multimilor frecvente ¸ 3 Generarea regulilor 4 Reprezentarea compact˘ a multimilor frecvente a ¸ 5 Metode alternative pentru generarea de multimi frecvente ¸ 6 Evaluarea regulilor de asociere 7 Efectul distributiei oblice ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 44 / 73
  • 45. Reprezentarea compact˘ a multimilor frecvente a ¸ Num˘rul de multimi frecvente poate s˘ fie prohibitiv a ¸ a Se poate identifica o familie reprezentativ˘ de multimi frecvente din a ¸ care se pot obtine toate celelalte multimi frecvente ¸ ¸ Variante: multimi frecvente maximale ¸i multimi frecvente ˆ ¸ s ¸ ınchise lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 45 / 73
  • 46. Multimi frecvente maximale ¸ Definitie ¸ O multime frecvent˘ maximal˘ este o multime frecvent˘ pentru care toate ¸ a a ¸ a superseturile imediate sunt infrecvente. (superset imediat al lui X este multime X ∪ {y }, y ∈ X ) ¸ Figure: Familia de multimi frecvente maximale este reprezentat˘ cu verde ¸ a lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 46 / 73
  • 47. Utilitatea multimilor frecvente maximale ¸ Toate multimile frecvente sunt generate de multimile frecvente ¸ ¸ maximale Ex: multimile frecvente din figura anterioar˘ sunt ˆ ¸ a ıntr-una din situatiile: ¸ 1 multimi care ˆ ¸ ıncep cu litera a ¸i contin c, d sau e s ¸ 2 multimi care ˆ ¸ ıncep cu b, c, d sau e. Exist˘ algoritmi care pot exploata eficient multimile frecvente a ¸ maximale, f˘r˘ a genera toate submultimile aa ¸ Problem˘: multimile frecvente maximale nu dau o modalitate de a ¸ calcul al suportului submultimilor frecvente pe care le genereaz˘ ¸ a lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 47 / 73
  • 48. Multimi frecvente ˆ ¸ ınchise Definitie (Multimi ˆ ¸ ¸ ınchise) O multime X este ˆ ¸ ınchis˘ dac˘ niciunul din superseturile imediate ale sale a a nu are acela¸i suport ca ea. s Definitie (Multimi frecvente ˆ ¸ ¸ ınchise) O multime X este frecvent˘ ˆ ¸ a ınchis˘ dac˘ este ˆ a a ınchis˘ ¸i frecvent˘. as a lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 48 / 73
  • 49. Multimi frecvente maximale vs. frecvente ˆ ¸ ınchise lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 49 / 73
  • 50. Utilitatea multimilor frecvente ˆ ¸ ınchise Set de tranzactii: ¸ 3 grupuri: {A1, . . . , A5}, {B1, . . . , B5}, {C 1, . . . , C 5} Pentru minsup = 20% avem num˘r total de multimi frecvente = 93 a ¸ Dar exist˘ doar 3 multimi frecvente ˆ a ¸ ınchise: {A1, . . . , A5}, {B1, . . . , B5}, {C 1, . . . , C 5} lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 50 / 73
  • 51. Relatia ˆ ¸ ıntre diferite tipuri de multimi ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 51 / 73
  • 52. Outline 1 Notiuni, definirea problemei ¸ 2 Generarea multimilor frecvente ¸ 3 Generarea regulilor 4 Reprezentarea compact˘ a multimilor frecvente a ¸ 5 Metode alternative pentru generarea de multimi frecvente ¸ 6 Evaluarea regulilor de asociere 7 Efectul distributiei oblice ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 52 / 73
  • 53. Metode alternative pentru generarea de multimi frecvente ¸ Apriori este unul din primii algoritmi eficienti care evit˘ explozia ¸ a combinatorial˘ a gener˘rii seturilor frecvente a a Principiul de baz˘: retezarea conform teoremei de la pagina 40 a Deficient˘: num˘rul mare de operatii de I/O ¸a a ¸ Deficient˘: pentru seturile de tranzactii dense performanta scade mult ¸a ¸ ¸ Metode alternative: “de la general la specific”, “de la specific la general”, c˘utare bidirectional˘ a ¸ a Ideea de baz˘: determinarea multimilor frecvente este o problem˘ de a ¸ a c˘utare ˆ graful laticii multimilor a ın ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 53 / 73
  • 54. Metode alternative pentru generarea de multimi frecvente ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 54 / 73
  • 55. Metode alternative pentru generarea de multimi frecvente ¸ “De la general la specific”: ˆ stilul algoritmului Apriori, de la o ın (k − 1)-multime se ajunge la o k-multime; strategia e bun˘ dac˘ ¸ ¸ a a lungimea maxim˘ a unei multimi frecvente nu este prea mare a ¸ “De la specific la general”: se poate adapta principiul Apriori C˘utare bidirectional˘: combinatie a precedentelor dou˘, necesit˘ mai a ¸ a ¸ a a mult˘ memorie, dar permite determinarea rapid˘ a zonei de delimitare a a lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 55 / 73
  • 56. Metode alternative pentru generarea de multimi frecvente ¸ Clase de echivalent˘: se partitioneaz˘ multimea nodurilor din latice ˆ ¸a ¸ a ¸ ın clase de echivalent˘; se trece la o alt˘ partitie numai cˆnd s–a ¸a a ¸ a terminat de explorat partitia curent˘ ¸ a Exemple de partitionare: arbori de tip prefix/sufix ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 56 / 73
  • 57. Metode alternative pentru generarea de multimi frecvente ¸ C˘utarea “mai ˆ ai ˆ l˘¸ime”: algoritmul Apriori functioneaz˘ astfel, a ıntˆ ın at ¸ a trecˆnd la k-multimi numai dup˘ ce s–au epuizat toate a ¸ a (k − 1)-multimile ¸ C˘utarea ˆ adˆncime este o variant˘ folosit˘ pentru a determina a ın a a a multimile frecvente maximale ¸ Odat˘ g˘sit˘ o multime maximal˘, se poate face retezare a a a ¸ a Figure: Parcugeri alternative lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 57 / 73
  • 58. Outline 1 Notiuni, definirea problemei ¸ 2 Generarea multimilor frecvente ¸ 3 Generarea regulilor 4 Reprezentarea compact˘ a multimilor frecvente a ¸ 5 Metode alternative pentru generarea de multimi frecvente ¸ 6 Evaluarea regulilor de asociere 7 Efectul distributiei oblice ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 58 / 73
  • 59. Problema evalu˘rii asocierilor a Algoritmii pot duce la producerea unui num˘r mare de reguli a Multe pot fi neinteresante sau redundante Exemplu de redundant˘: dac˘ regulile {A, B, C } −→ {D} ¸i ¸a a s {A, B} −→ {D} au acela¸i suport ¸i confident˘ s s ¸a Se pot folosi functii de m˘surare a gradului de interes care s˘ reduc˘ ¸ a a a /sorteze regulile ˆ cele prezentate pˆn˘ acum, doar suportul ¸i confidenta erau In a a s ¸ considerate lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 59 / 73
  • 60. Schema unui proces de extragere de cuno¸tinte s ¸ Figure: Pa¸ii unui proces de extragere de cuno¸tinte. Postprocesarea contine s s ¸ ¸ evaluarea regulilor lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 60 / 73
  • 61. Moduri de cuantificare al gradului de interes Functii obiective: ¸ folosesc statistici derivate din date pentru a determina gradul de interes suport, confident˘, corelatie ¸a ¸ Functii subiective: ¸ se refer˘ la grad de interes pentru cunoa¸terea uman˘ a s a exemplu: {unt} −→ {paine} este de a¸teptat ¸i deci neinteresant; dar s s {scutece} −→ {bere} este ceva surprinz˘tora modalit˘¸i de ˆ at ıncorporare a subiectivismului: vizualizare filtrare bazat˘ pe ¸abloane a s ierarhie de concepte lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 61 / 73
  • 62. M˘sura obiectiv˘ a interesului a a M˘sur˘ obiectiv˘: modalitate dependent˘ de date a a a a Necesit˘ interventie minim˘ din partea utilizatorului a ¸ a Punct de plecare pentru diferite m˘suri, pe perechi de variabile binare: a tabel de contingent˘ ¸a Y Y Total X f11 f10 f1+ X f01 f00 f0+ Total f+1 f+0 N Table: Tabel de contingent˘ pentru regula X −→ Y . O valoare de forma (·) ¸a reprezint˘ lipsa obiectului asociat ˆ tranzatie. f1+ (f+1 ) reprezint˘ valoarea a ın ¸ a suport pentru X (respectiv Y ). lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 62 / 73
  • 63. Limit˘ri ale cuplului suport-confident˘ a ¸a Consider˘m studiul leg˘turii ˆ a a ıntre cei care beau ceai sau cafea: Cafea Cafea Total Ceai 150 50 200 Ceai 650 150 800 Total 800 200 1000 Table: Preferinte de consum. ¸ Consider˘m regula: {Ceai} −→ {Cafea}: suport 15%, confident˘ a ¸a 75% Remarc˘m ˆ a c˘ procentul celor care beau cafea este de 80%, mai a ıns˘ a mult decˆt confidenta anterioar˘ a ¸ a Deci regula {Ceai} −→ {Cafea} d˘ o indicatie gre¸it˘ fat˘ de starea a ¸ s a ¸a actual˘ a datelor; ¸tiind c˘ o persoan˘ bea ceai, asta va sc˘dea ¸ansa a s a a a s ei ca s˘ bea cafea a Cauza: m˘sura de confident˘ ignor˘ suportul multimii consecvent a ¸a a ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 63 / 73
  • 64. Alte functii obiective de m˘surare a gradului de interes ¸ a factor de ridicare (eng: lift) c(A −→ B) lift(A −→ B) = s(B) interes:  s(A, B)  =1 pentru A ¸i B independente s I (A, B) = : >1 pentru A ¸i B pozitiv corelate s s(A) · s(B)  <1 pentru A ¸i B negativ corelate s corelatia Pearson pentru variabile binare: ¸ f11 f00 − f01 f10 φ= ∈ [−1, 1] f1+ f+1 f0+ f+0 lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 64 / 73
  • 65. Alte functii obiective de m˘surare a gradului de interes ¸ a Figure: M˘suri propuse a lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 65 / 73
  • 66. Sortarea pe baza diferitelor functii ¸ Pe baza functiilor se pot face ordon˘ri ale regulilor ¸ a Ordinea poate s˘ difere de la o functie de interes la alta a ¸ Figure: 10 exemple de tabele de contingent˘ ¸a Figure: Sortarea pe baza diferitelor reguli lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 66 / 73
  • 67. Propriet˘¸i ale functiilor obiective at ¸ De v˘zut din bibliografie: a Proprietatea de inversiune Proprietatea de ad˘ugare nul˘ a a Proprietatea de scalare De citit: paradoxul lui Simpson ¸i necesitatea stratific˘rii datelor ˆ s a ınaintea extragerii de reguli lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 67 / 73
  • 68. Outline 1 Notiuni, definirea problemei ¸ 2 Generarea multimilor frecvente ¸ 3 Generarea regulilor 4 Reprezentarea compact˘ a multimilor frecvente a ¸ 5 Metode alternative pentru generarea de multimi frecvente ¸ 6 Evaluarea regulilor de asociere 7 Efectul distributiei oblice ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 68 / 73
  • 69. Distributii oblice ¸ Uneori datele au urm˘toarea form˘: foarte multe obiecte cu suport a a mic, putine cu suport mare ¸ O atare distributie este puternic neechilibrat˘ (eng: skewed) ¸i nu ¸ a s poate fi tratat˘ uniform a Dac˘ pragul minsup este ales prea mic atunci algoritmul Apriori (sau a oricare altul) poate genera excesiv de multe multimi frecvente ⇒ ¸ consum mare de memorie, posibil relatii ˆ ampl˘toare ¸ ıntˆ a Dac˘ minsup este prea mare se pot rata ni¸te reguli utile a s exemplu: bijuterii - se cump˘r˘ rar ˆ comparatie cu alte produse, dar aa ın ¸ profitul adus e considerabil Pentru setul de date Public Use Microarray Sample census data distributia datelor este: ¸ lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 69 / 73
  • 70. Distributii oblice ¸ Figure: Distributie oblic˘ pentru setul de date textcolorbluePUMS census data ¸ a lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 70 / 73
  • 71. Distributii oblice ¸ Dac˘ se las˘ valoare minsup mic˘, atunci o multime poate s˘ combine a a a ¸ a obiecte cu suport mare ¸i mic s Obiectele din multime ˆ a pot avea o corelatie mic˘ ¸ ıns˘ ¸ a Atfel de multimi se numesc ¸abloane cu suport ˆ ¸ s ıncruci¸at (eng: s cross-support patterns) Pentru minsup = 0.05% avem 18847 perechi frecvente, din care 93% sunt cu obiecte din G1 ¸i G3; corelatia maxim˘ este ˆ a 0.029 - prea s ¸ a ıns˘ putin ¸ Chiar m˘rirea pragului minconf poate fi inefectiv˘; consecventul unei a a reguli poate avea suport mare deci ¸abloane cu suport ˆ s ıncluci¸at pot s ˆ a s˘ apar˘ ınc˘ a a lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 71 / 73
  • 72. Distributii oblice ¸ Definitie (Sabloane cu suport ˆ ¸ ¸ ıncruci¸at) s Un ¸ablon cu suport ˆ s ıncruci¸at este o multime X = {i1 , i2 , . . . , ik } pentru s ¸ care raportul suporturilor min[s(i1 ), s(i2 ), . . . , s(ik )] r (X ) = (3) max[s(i1 ), s(i2 ), . . . , s(ik )] este mai mic decˆt un prag specificat de utilizator hc . a Un alt mod de detectare a ¸abloanelor cu suport ˆ s ıncruci¸at: se s examineaz˘ confidenta minim˘ care se poate extrage dintr–o multime a ¸ a ¸ dat˘, i.e. m˘sura h-confident˘: a a ¸a s (i1 , i2 , . . . , ik ) max [s(i1 ), s(i2 ), . . . , s(ik )] lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 72 / 73
  • 73. Distributii oblice ¸ Criteriul de eliminare a unui ¸ablon ˆ s ıncruci¸at X : ¸ablonul se elimin˘ s s a dac˘a min[s(i1 ), s(i2 ), . . . , s(ik )] h − confidenta(X ) ≤ ≤ hc max[s(i1 ), s(i2 ), . . . , s(ik )] Valoarea peste hc a h-confidentei ne asigur˘ c˘ obiectele din multime ¸ a a ¸ sunt puternic corelate ˆ ıntre ele lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 73 / 73