ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Frequent Pattern Mining #2
    Data Mining 2022. 9. 11. 11:34
    728x90

    ■ Apriori Algorithm

    - Market Basket Problem의 두 가지 방식 중 frequent Itemsets를 찾는데에 가장 보편적인 알고리즘이다. 알고리즘 없이 frequent Itemsets를 찾으려 하면 브루트 포스법을 사용하여 전체를 모두 뒤져야한다. 작은 Data에서는 가능할 수 있겠지만 데이터마이닝을 사용할 정도의 Big-Data에서는 어마어마하게 비효율적일 수 있다.

     

    ※ 기본적인 처리 과정

       itemset generation의 후보자 선정 -> Frequent Itemset을 선택

     

    ※ Downward Closure Property

    - Any superset of an itemset X cannot have higher support than X

    -> if an itemset X is frequent then any subset of X should be frequent

     

     

    ★ Candidate Itemset Generation

     

    Two steps : 후보자를 줄이자!!! - 후보자가 많으면 복잡함

    1. selective joining

    • K 사이즈 itemset을 만드려면 (K-1) 사이즈 2개를 더해야한다.

    ex) 4 사이즈 itemset을 만드려면 3 사이즈 itemset 2개를 더해야한다. -> 이게 가장 효율적임

     

    2. Apriori pruning

    => K 사이즈 itemset의 후보자를 조사 : K-1 사이즈 subset을 조사해서 frequent 하지 않은 것이 하나라도 있으면 후보자에서 제외시킨다. - 미리 후보자가 될 수 없는 요소를 제거시켜 효율 극대화

     

     

    ★ Apriori Algorithm

     

    min support = 2

    ID items
    1 A,C,D
    2 B,C,E
    3 A,B,C,E
    4 B,E

     

    C1

    Itemset Sup
    {A} 2
    {B} 3
    {C} 3
    {D} 1
    {E} 3

    min support보다 작은 {D}를 삭제

     

    L1

    Itemset Sup
    {A} 2
    {B} 3
    {C} 3
    {E} 3

     

    C2

    Itemset Sup
    {A,B} 1
    {A,C} 2
    {A,E} 1
    {B,C} 2
    {B,E} 3
    {C,E} 2

    min support보다 작은 {A,B}와 {A,E}를 삭제

     

    L2

    Itemset Sup
    {A,C} 2
    {B,C} 2
    {B,E} 3
    {C,E} 2

    여기서 부터 selective joining을 사용한다. 3사이즈의 itemset을 만들기 위해 2사이즈의 itemset 두개를 합친다. 애초에 {A,B}와 {A,E} 조합은 후보자에서 삭제 되었으므로 두 조합의 경우는 제외하고 합치게 된다. 

    여기서는 가능한 조합이 itemset 중 {B,C,E}만 가능하다.

     

    C3

    Itemset Sup
    {B,C,E} 2

    L3

    Itemset Sup
    {B,C,E} 2

     

    ★ Summary of Apriori Algorithm

     

    - Reducing search space by downward closure property

    - Multiple scan of transaction database -> Reducing transaction database scans(Downward closure property)

    - Huge number of candidates -> Shrinking number of candidates(pruning)

    - Tedious workload of support counting -> Facilitating support counting

    728x90

    'Data Mining' 카테고리의 다른 글

    Clustering #1  (1) 2022.09.25
    Frequent Pattern Mining #3  (0) 2022.09.18
    Frequent Pattern Mining #1  (2) 2022.09.11
Designed by Tistory.