Market-basket model
items
: 마트에서 파는 물건들baskets(transactions)
: 한 번에 같이 사는 itemsbasket
은 itmes
의 small subset
association rules
(연관규칙)tricks
을 쓰기도 함 ⇒ 기저귀와 맥주가 같이 잘 팔린다고 할 때, 기저귀는 세일하면서 맥주의 가격은 인상시킴Support
: I의 모든 items가 포함되어 있는 baskets의 수💡 Support
는 종종 전체 basket 수에 대한 분수로 표현될 수도 있음
support threshold s
(임계값 s)s개의 baskets
에서 나타난 itemsets을 frequent itemsets
라고 한다예시)
Items = {milk, coke, pepsi, beer, juice}
Support threshold
= 3 basketsB1 = {m, c, b}
B2 = {m, p, j}
B3 = {m, b}
B4 = {c, j}
B5 = {m, p, b}
B6 = {m, c, b, j}
B7 = {c, b, j}
B8 = {b, c}
Frequent itemsets
: {m}, {c}, {b}, {j}, {m, b}, {b, c}, {c, j}if-then rules
about the contents of baskets
{}
⇒ basket 안에 이 모두 포함되어 있다면 그 basket 안에는 j가 포함되어 있을 법하다. (likely to)
실제로 많은 규칙들이 있고, 그 중에서도 중요하고, 흥미로운 규칙을 찾아야 함!
👉 confidence
를 정의
📌Confidence
연관규칙의 신뢰도는 I = {}가 주어졌을 때 j가 포함되어있을 확률이다.
confidence
값이 높다고 항상 그 규칙이 interesting
한 건 아니다!
👉 ex) X → milk
라는 연관 규칙이 높은 confidence 값을 갖는 건, 그저 X와 상관없이(independent of X) milk의 판매율이 높아서일지도 모른다.
📌Interest
연관 규칙 I → j의 interest는 confidence에서 j를 포함하고 있는 basket의 비율을 뺀 값이다.
Interesting rule
은 높은 양의 값 또는 음의 값을 가진 규칙이다. (보통 0.5이상)
보통 절댓값을 사용
B1 = {m, c, b}
B2 = {m, p, j}
B3 = {m, b}
B4 = {c, j}
B5 = {m, p, b}
B6 = {m, c, b, j}
B7 = {c, b, j}
B8 = {b, c}
💡 Association rule : {m, b} → c
- Confidence = 2/4 = 0.5
- Interest = 0.5 - 5/8 = -1/8
👉 Item c는 basket의 5/8에서 나타나고 있음
👉 이 규칙은 별로 interesting 하지 않다는 것을 알 수 있음
support ≥ s
& confidence ≥ c
를 만족하는 모든 association rules
를 찾아야 함 (s, c는 사용자가 임의로 지정)frequent itemsets
를 찾아야 함frequent
한다.1. 모든
frequent itemsets I
찾기
⇒ 다음 챕터에서 설명
2. Rule generation
주어진 confidence 임계값보다 높은 규칙 출력
A → I\A
생성 ex) I : {a, b, c}, A : {b, c}
A → I\A
👉 {b, c} → {a}
A, B, C → D
가 주어진 confidence 값보다 작으면, A, B → C, D
역시 마찬가지이다.B1 = {m, c, b}
B2 = {m, p, j}
B3 = {m, b}
B4 = {c, j}
B5 = {m, p, b}
B6 = {m, c, b, j}
B7 = {c, b, j}
B8 = {b, c}
💡 Support threshold s = 3, confidence c = 0.75
1) Frequent itemsets:
{b, m}, {b, c}, {c, m}, {c, j}, {m, c, b}
2) Generate rules:
b→m : c=4/6
b→c : c=5/6
b,c→m : c=3/5
m→b : c=4/5
b,m→c : c=3/4
b→c,m : c=3/6
...