연관규칙: 지지도·신뢰도·향상도
쉽게 말하면
마트 영수증 1000장을 모아 보니 '기저귀를 산 사람은 맥주도 자주 산다' 같은 규칙을 찾는 게 연관분석이에요. 얼마나 자주 같이 사나(지지도), 기저귀를 사면 맥주도 살 확률이 얼마나 되나(신뢰도), 그게 우연보다 몇 배인가(향상도)를 봐요.
시험용 정의
연관분석(장바구니 분석)은 거래 데이터에서 'A 를 사면 B 도 산다'(A → B) 같은 규칙을 찾는 비지도 분석이다. 지지도는 전체 거래 중 A 와 B 가 함께 들어 있는 비율 P(A∩B), 신뢰도는 A 가 든 거래 중 B 도 든 비율 P(A∩B) / P(A), 향상도는 신뢰도를 B 의 전체 구매 비율로 나눈 값 P(A∩B) / (P(A)P(B)) 다. 향상도가 1 이면 A 와 B 는 서로 관계없고(독립), 1 보다 크면 함께 사는 경향(보완), 1 보다 작으면 하나를 사면 다른 하나를 덜 사는 경향(대체)이다. 규칙은 Apriori 알고리즘으로 최소 지지도를 넘는 빈발 항목 집합을 찾아 만든다.
비유로 이해하기
학교 매점 영수증이다. 삼각김밥과 컵라면을 같이 산 영수증이 전체의 몇 %인지가 지지도, 삼각김밥을 산 학생 중 컵라면도 산 비율이 신뢰도다. 원래 컵라면을 70% 가 사는데 삼각김밥 손님도 70% 만 산다면 둘은 관계가 없다(향상도 1). 삼각김밥 손님이 90% 가 산다면 진짜로 같이 팔리는 것이다.
자세히
먼저 알아 둘 말
| 말 | 뜻 |
|---|---|
| 거래 (트랜잭션) | 영수증 한 장. 함께 산 품목의 모음 |
| 항목 집합 | 품목의 묶음. {우유, 빵} |
| 빈발 항목 집합 | 최소 지지도 이상 나온 항목 집합 |
| 조건절 → 결과절 | A → B 에서 A 가 조건, B 가 결과 |
세 가지 지표 (A → B)
| 지표 | 식 | 방향을 바꾸면 (B → A) |
|---|---|---|
| 지지도 | n(A∩B) / 전체 | 같다 |
| 신뢰도 | n(A∩B) / n(A) | n(A∩B) / n(B) 로 달라진다 |
| 향상도 | 신뢰도 / P(B) = P(A∩B) / (P(A)P(B)) | 같다 |
Apriori 순서
- 최소 지지도를 정한다
- 개별 품목 중 최소 지지도를 넘는 것을 찾는다
- 그 품목들로 두 품목 집합을 만들어 최소 지지도를 넘는 것을 찾는다
- 세 품목, 네 품목 … 으로 늘리며 더 이상 없을 때까지 반복한다
- 빈발 항목 집합에서 최소 신뢰도를 넘는 규칙을 만든다
빈발하지 않은 집합을 포함한 큰 집합은 절대 빈발할 수 없어서 계산에서 뺀다. 이 가지치기 덕분에 모든 조합을 다 세지 않는다.
장점과 단점
| 장점 | 단점 |
|---|---|
| if-then 규칙이라 해석이 쉽다 | 품목이 늘면 조합이 기하급수적으로 늘어 계산이 많다 |
| 목적변수가 없어도 된다 | 거래가 드문 품목은 지지도가 낮아 규칙에서 빠지기 쉽다 |
| 거래 데이터를 그대로 쓰기 쉽다 | 의미 없는 규칙이 많이 나와 걸러 내야 한다 (향상도로 판단) |
알아 둘 점
- 지지도·신뢰도·향상도를 함께 본다. 신뢰도가 높아도 향상도가 1 이면 그냥 B 가 원래 잘 팔리는 것이다
- '지지도보다 신뢰도가 일반적으로 더 중요하다'처럼 하나만 중요하다고 단정하지 않는다
- 순차 패턴은 시간 순서를 고려해 '노트북을 산 뒤 한 달 안에 가방을 산다' 같은 규칙을 찾는다
시험에 이렇게 나와요
- 지지도 = 전체 중 A·B 동시 구매 비율 (방향 무관: 커피 → 우유 = 우유 → 커피)
- 신뢰도 = A 를 산 거래 중 B 도 산 비율, 표에서 계산 (우유 → 커피 등)
- 향상도 = P(A∩B) / (P(A)P(B)), 표에서 9/8 같은 분수로 계산
- Apriori 순서: 최소 지지도 설정 → 개별 품목 → 두 품목 → 반복, 최소 지지건수로 가장 긴 빈발 집합 찾기
- 단점: 품목 수가 늘면 계산량 급증 ('거의 늘지 않는다'는 틀림)
- '지지도보다 신뢰도가 일반적으로 더 중요'는 틀림
확인 문제
Q1. 전체 100건 중 우유 구매 50건, 우유와 빵을 함께 산 거래 20건이다. '우유 → 빵' 의 신뢰도는?
- 0.2
- 0.25
- 0.4
- 0.5
정답 보기
3번 0.4
신뢰도는 우유를 산 거래 중 빵도 산 비율이다. 20 / 50 = 0.4. 지지도는 20 / 100 = 0.2.
Q2. 전체 200건, A 구매 80건, B 구매 100건, A·B 동시 40건일 때 A → B 의 향상도는?
- 0.4
- 0.5
- 1
- 2
정답 보기
3번 1
신뢰도 40 / 80 = 0.5, P(B) = 0.5, 0.5 / 0.5 = 1.
Q3. 같은 자료에서 B → A 의 신뢰도는?
- 0.2
- 0.4
- 0.5
- 0.8
정답 보기
2번 0.4
40 / 100 = 0.4. 방향을 바꾸면 분모가 B 구매 수가 된다.
Q4. 규칙의 방향을 바꿔도 값이 같은 지표끼리 묶은 것은?
- 신뢰도, 향상도
- 지지도, 신뢰도
- 모두 달라진다
- 지지도, 향상도
정답 보기
4번 지지도, 향상도
지지도와 향상도는 A, B 에 대칭이다.
Q5. 커피만 20건, 우유만 50건, 둘 다 30건, 전체 100건일 때 '우유 → 커피' 의 지지도는?
- 0.2
- 0.3
- 0.375
- 0.5
정답 보기
2번 0.3
지지도는 0.3이다. 지지도 = 두 상품을 함께 산 거래 ÷ 전체 거래 = 30 ÷ 100이다. 방향(우유 → 커피)과 관계없이 같다.
Q6. 향상도가 0.6 인 규칙에 대한 해석은?
- A 를 사면 B 를 오히려 덜 사는 경향(대체 관계)
- A 를 사면 B 를 함께 사는 경향이 강하다
- A 와 B 는 서로 독립이다
- 지지도가 60% 다
정답 보기
1번 A 를 사면 B 를 오히려 덜 사는 경향(대체 관계)
A를 사면 B를 오히려 덜 사는 경향(음의 연관, 대체 관계)이다. 향상도가 1이면 서로 독립, 1보다 크면 함께 사는 경향이다.
Q7. 연관분석의 장점이 아닌 것은?
- 거래 데이터를 그대로 쓰기 쉽다
- if-then 규칙이라 해석이 쉽다
- 품목 수가 늘어도 계산량이 거의 늘지 않는다
- 목적변수가 없어도 된다
정답 보기
3번 품목 수가 늘어도 계산량이 거의 늘지 않는다
품목이 늘면 조합이 폭발적으로 늘어난다.
헷갈리기 쉬운 O·X
'A → B' 의 신뢰도와 'B → A' 의 신뢰도는 항상 같다.
정답 보기
X 분모가 A 구매 수와 B 구매 수로 다르다.
향상도가 1 이면 두 품목은 서로 독립이다.
정답 보기
O
Apriori 는 개별 품목을 찾은 뒤 최소 지지도를 설정한다.
정답 보기
X 최소 지지도를 먼저 정한다.