𧩠λ°μ΄ν°λ§μ΄λ(23) ν¨ν΄λΆμ_3 : Apriori Algorithm / ECLAT
𧩠μ΄λ² ν¬μ€ν μμλ ν¨μ¨μ μΈ ν¨ν΄λΆμμ μν Apriori Algorithm μ λν΄μ μμλ³Ό κ²μ΄λ€. μ§λνκΈ°μ μ§ννλ νλ‘μ νΈμμλ κ½€λ μ μ©νκ² μΌλ λ§νΌ, μμλ₯Ό κ°μ§κ³ μμΈνκ² μμλ³Ό μμ μ΄λ€ππ.
1. Efficient Pattern Mining Methods
𧩠μ°μ ν¨ν΄λΆμμ μν΄μ μ¬μ©ν μ μλ λ°©λ²λ€μ μ’
λ₯μ λν΄μ μμ보μ.
- Downward closeure property of frequent patterns
- Apriori Algorithm
- Extensions or Improvements of Apriori
- Mining frequent patterns by exploding vertical data format (ECLAT)
- Mining closed patterns
π§© μ΄ κ°λ λ€ μ€μμ μ°λ¦¬λ μ£Όλ‘ Apriori Algorithm κ³Ό ECLAT μ λν΄μ λ°°μΈ κ²μ΄λ€.
2. Downward closeure property of frequent patterns
𧩠Apriori Algorithm μ μ΄ν΄νκΈ° μν΄ μ°μ μ μΌλ‘ μμμΌ ν ν¨ν΄λΆμμ νΉμ§μ μμ보μ.
- Apriori
- frequent itemset μ λͺ¨λ subset μ λ°λμ frequent ν΄μΌ νλ€.
- λ§μ½ itemset_S μ μ΄λ€ subsetμ΄ infrequent νλ©΄ S μμ frequent νμ§ μλ€.
- μ¦ subsetμ€ νλλΌλ infrequentνλ©΄, κ·Έ itemset μμ infrequent νλ€.
π κ°λ¨νκ² μλ₯Ό λ€μλ©΄ itemset {B,D,N} μ΄ frequent νλ©΄ {B,D}{B}{N} λ±μ μ΄λ€ subsetμ΄λΌλ frequent ν¨μ μλ―Ένλ€λ κ²μ΄λ€. μ΄ νΉμ§μ΄ μμΌλ‘ μμλ³Ό Apriori Algorithm μ κ°μ₯ κΈ°λ³Έμ μΈ μλμ리μ΄κΈ° λλ¬Έμ νμ€ν μκ³ κ°λ κ²μ΄ μ’μ κ² κ°λ€π.
3. Apriori
𧩠νΈλμμ λ°μ΄ν°λ₯Ό μ€μΊνλ©΄μ μ§ννλ€.
- 1. λ°μ΄ν°μ frequentν 1 - itemsetλΆν° μ°ΎκΈ° μμνλ€.
- 2. μλμ κ³Όμ μ λ°λ³΅νλ€.
- 2.1. frequent K - itemset μΌλ‘λΆν° (K+1) - itemset μ ν보ꡰμ νμ±νλ€.
- 2.2. μμ±ν ν보λ€λ‘λΆν° frequent (K+1) - itemset μ μ ννλ€.
- 2.3. K λ₯Ό K+1 λ‘ μ€μ νμ¬ λ€μ μμ κ³Όμ μ λ°λ³΅νλ€.
- 3. λ μ΄μ frequent ν setμ λ§λ€μ§ λͺ»ν λκΉμ§ λ°λ³΅νλ€.
- 4. ꡬν λͺ¨λ frequent ν itemset μ 리ν΄νλ€.
𧩠μμ λ₯Ό νλ μ΄ν΄λ³΄λλ‘ νμ!!
π© 3.1. Apriori Algorithm - example
𧩠νΈλμμ
λ°μ΄ν°μ λν΄ minsup = 2 λ‘ μ£Όμ΄μ§ μμμ΄λ€. νμ΄μμ $C_{n}$ μ candidate-n-itemsetμ μλ―Ένλ©°, $F_{n}$ μ frequent-n-itemset μ μλ―Ένλ€.
π μμ νμ΄κ³Όμ μ 보면 β / β’ / β€ μμ λ¨Όμ K+1 candidate itemset μ ꡬν΄μ£Όκ³ , β‘ / β£ / β₯ μμ μμ°¨μ μΌλ‘ K+1 frequent itemset μ ꡬνλ€. K = 1 λΆν° μμν΄ μ μ Kλ₯Ό μ¦κ°μν€λ©΄μ frequent itemset μ ꡬν΄μ£Όκ³ , λ μ΄μ frequent itemset μ΄ μμΌλ©΄ μκ³ λ¦¬μ¦μ΄ λλλ€.
π μμμ $F_1$ μμ $C_2$ λ‘ λμ΄κ° λμ $F_2$ μμ $C_3$ λ‘ λμ΄κ° λ μ£Όλͺ©ν΄μΌ νλ λΆλΆμ΄ μλ€. λ°λ‘ $F_1$ κ³Ό $F_2$ κ°κ°μμ κ°λ₯ν μ‘°ν©λ§μ κ³ λ €ν΄μ candidate itemset μ λ§λ€μ΄ μ€μΌ νλ€λ κ²μ΄λ€. μ΄μ°¨νΌ μ°λ¦¬κ° μ°Ύκ³ μ νλ κ²μ΄ frequent itemset μ΄κΈ° λλ¬Έμ, frequent itemset μ λͺ¨λ subset μ λ°λμ frequent ν΄μΌ νλ€ λ Apriori Algorithm μ κΈ°λ³Έ μ리μ μν΄ λΆνμν μ°μ° κ³Όμ μ μ€μ΄κ³ μ νλ κ²μ΄λ€. μ΄λ μ£Όμν μ μ λ¨μν λ§λ€ μ μλ μ‘°ν©μ΄ μλλΌ κ° itemset κ°μ κ΄κ³ κ° μμ΄μΌ νλ€λ μ μ΄λ€. λ¬΄μ¨ μλ¦°κ°β¦π¨π¨ νμλ λΆλ€μ΄ μμ§λ μμ κ² κ°μ $F_2$ μμ $C_3$ λ‘ λμ΄κ°λ κ³Όμ μ ν΅ν΄ μ€λͺ
νλλ‘ νκ² λ€.
π $F_2$ - {AC} / {BC} / {BE} / {CE} μμ μΌν μκ°νλ©΄ {AC}μ {CE} λ λ€ μμΌλ λΉμ°ν {ACE}λ₯Ό λ§λ€ μ μμ κ² κ°κ³ , {AC}μ {BC} λͺ¨λ μμΌλ {ABC} λ λ§λ€ μ μμ κ² κ°μ§λ§, κ·Έλ μ§ μλ€. μλνλ©΄ 첫λ²μ§Έ κ²½μ°μλ Aμ Eμ κ΄κ³κ° μκ³ , λλ²μ§Έ κ²½μ°μλ Aμ Bμ κ΄κ³κ° μκΈ° λλ¬Έμ΄λ€. μ¦, λ¨μ μ‘°ν©λ³΄λ€λ κ°κ°μ κ΄κ³λ₯Ό μ€λͺ
ν μ μλ κ²½μ°μ μμ°¨μ μΈ frequent itemset μ ꡬν μ μλ€. λ°λΌμ μμ κ²½μ° λ§λ€μ μλ μ‘°ν©μ {BCE} νλ λΏμ΄λ€ππ.
4. Implementation Tricks
𧩠μμ λ§ν μ‘°ν©μ λν΄μ μ‘°κΈ λ μμ보λλ‘ νμ. μ΄μ μ΄ κ³Όμ μ self-joining / pruning μ΄λΌλ λκ°μ§ κ°λ
μΌλ‘ λλ μ§λ€.
- self-joining : κΈ°μ‘΄ frequent itemset μ΄ κ°μ§κ³ μλ items λ§μ μ¬μ©ν΄μ candidate itemset μ λ§λ€κΈ° μν μ°μ°λμ μ€μΈλ€.
- pruning : candidate itemset μ λ§λ€ λ κ°λ₯ν κ΄κ³λ§μ μ¬μ©ν΄μ λ§λ€κΈ° μν΄ μ체μ μΌλ‘ λ§λ€ μ μλ itemset μ λν κ°μ§μΉκΈ°λ₯Ό μ§ννλ€.
𧩠κ°λ¨νκ² μμλ₯Ό νλ μ΄ν΄λ³΄λλ‘ νμ.
π λ§λ€μ΄μΌ ν κ²μ΄ 4 - itemset μ΄κΈ° λλ¬Έμ, μΌν 보면 λκ° κ΅μ₯ν 볡μ‘ν΄ λ³΄μΈλ€. 3κ°μ item λ€ κ°μ κ΄κ³λ₯Ό κ°μ§κ³ 4 κ°μ item μ λ§λ€μ΄μΌ νκΈ° λλ¬Έμ΄λ€. νμ§λ§ μ΄ μμ μ°¨λΆν μκ°ν΄λ³΄λ©΄ κ·Έλ κ² μ΄λ €μ΄ κ²μ μλ κ±°λΌκ³ μκ°νλ€.
-
λ¨Όμ μ°λ¦¬λ abc μ abd, bcd λ₯Ό κ°μ§κ³ μκ³ , μ΄ itemset λ€ κ°μλ a - bμ κ΄κ³, a - c μ κ΄κ³, b - c μ κ΄κ³, b - d μ κ΄κ³, a - d μ κ΄κ³, c - d μ κ΄κ³ κ° λͺ¨λ λ€μ΄ μκΈ° λλ¬Έμ abcd μ λ§λ€ μ μλ€.
-
νμ§λ§ μ°λ¦¬κ° acde λ₯Ό λ§λλ €κ³ νλ κ²½μ°λ₯Ό μκ°ν΄λ³΄μ. acd, ace λ₯Ό ν΅ν΄ a - c, a - d, c - d, a - e, c - e μ κ΄κ³λ₯Ό μ μλ μμ§λ§, μμ μλ 3 - itemset μλ d - e μ κ΄κ³λ₯Ό μ μ μλ ade, cde λ±μ΄ μλ€. λ°λΌμ μ°λ¦¬λ μμ μλ κ²½μ°λ₯Ό κ°μ§κ³ acde λ₯Ό λ§λ€ μλ μλ€ππ.
𧩠μ΄μ§ ν·κ°λ¦¬λ κ°λ
μ΄λ€. λλ μ€κ°κ³ μ¬μ λμ¨ μ΄ λ¬Έμ λ₯Ό 보기 μ’κ² νλ €μ κΈ°λ§κ³ μ¬ κ³΅λΆ ν λ νλ²μ© λ λ΄€λ κΈ°μ΅μ΄ λλ€. λ¬Όλ‘ μ΄λ° μκ³ λ¦¬μ¦μ΄ μ΄λ―Έ μ»΄ν¨ν°μ λ€~~ ꡬνλμ΄ μμΌλ μ¬μ©νλ λ° μ΄λ €μΈ κ²μ΄λΌκ³ μκ°νμ§λ μλλ€. νλ‘μ νΈμμλ μ¬μ©μ νκΈ° λλ¬Έμ, ν¨ν΄λΆμμ λν λ΄μ©μ μ 리ν λ ν λ² λ μ΄ν΄λ³΄λλ‘ νμππ.
5. Exploding Vertical Data Format (ECLAT)
𧩠ν¨ν΄λΆμμ μ°μ° μλ ν₯μμ μν λ°©λ²μ΄λΌκ³ μκ°νλ©΄ λ κ² κ°λ€. νΈλμμ
λ°μ΄ν°μ ννλ₯Ό μ΄μ§ λ°κΎΈλ λ°©λ²μΈλ°, νλ² μ΄ν΄λ³΄λλ‘ νμ.
π μ»΄ν¨ν°κ° λ°μ΄ν°λ₯Ό μΈμνλ λ°©μμ΄ μ«μ κΈ°μ€μ΄κΈ° λλ¬Έμ, itemsetμ κ·Έ μμ²΄λ‘ μΈμνκΈ° 보λ€λ μ«μλ₯Ό ν΅ν μ’νλ‘ μΈμνλ λ°©μμ΄ μ°μ° κ³Όμ μ΄ ν¨μ¬ λΉ λ₯΄κ³ , κ°λ³λ€. μ΄λ κ² κ°λ¨νκ² λ°μ΄ν°λ₯Ό λ³ννλ κ²λ§μΌλ‘λ μ°μ°μλκ° λΉ¨λΌμ§ μ μλ€λ κ²μ μ΄μ μ λ§μΆλ©΄ μ’μ κ² κ°λ€.
𧩠μ λ§ μ€μν κ°λ μ λ°°μ λ€. νλ‘κ·Έλλ°μ ν΅ν΄μλ κ°λ¨ν ν¨μλ§μΌλ‘λ ꡬνμ΄ κ°λ₯νμ§λ§, μ΄μ¨λ μ΄ μκ³ λ¦¬μ¦μ μκ°ν΄ λΈλ€λ μ μ΄ μ°Έ λλ¨νλ€κ³ μκ°νλ€. κ·Έ λ©μ§ λΆλ€ λλΆμ μ΄λ κ² νΈλ¦¬ν μΈμμ μ΄ μ μλ€λ μ μ μμΌ κ°μ¬ν¨μ λλλ€ππ.
𧩠μ΄λ κ² ν¨ν΄μ λΆμνλ λ²μ νλ²μ© μ§μ΄ 보μλ€. λ€μ ν¬μ€ν μμλ μ΄λ»κ² 보면 λΆμλ³΄λ€ λ μ€μν μ μ΄λΌκ³ ν μ μλ Pattern Evaluation μ λν΄ μμ보λλ‘ νμπββοΈπββοΈ.
Leave a comment