Ⅲ. 데이터 모델링과 평가 · 4차시
연관 — 지지도·신뢰도·향상도
함께 사는 물건에는 규칙이 있다. 장바구니 분석으로 품목 사이의 연관 규칙을 찾는다. 지지도, 신뢰도, 향상도를 계산해 규칙의 의미를 판단한다.
매점 진열대를 다시 배치하려고 한다. 함께 사 가는 물건을 가까이 두면 학생들이 찾기 쉽다.
무엇과 무엇이 함께 팔리는지는 감으로 정할 일이 아니다. 구매 기록에 답이 들어 있다.
장바구니 하나가 거래 하나다
- 연관 분석(association analysis)
- 함께 나타나는 항목의 관계를 찾아
A를 사면 B도 산다형태의 연관 규칙을 만드는 분석.
- 장바구니 분석(market basket analysis)
- 한 번의 구매를 장바구니 하나로 보고, 장바구니에 함께 담긴 품목의 연관을 찾는 연관 분석.
| 거래 번호 | 함께 산 품목 |
|---|---|
| 1 | 우유, 삼각김밥, 초콜릿 |
| 2 | 우유, 삼각김밥, 초콜릿, 이온음료 |
| 3 | 우유, 삼각김밥 |
| 4 | 우유, 삼각김밥 |
| 5 | 우유, 컵라면 |
| 6 | 삼각김밥, 컵라면 |
| 7 | 삼각김밥, 초콜릿 |
| 8 | 컵라면, 이온음료 |
| 9 | 컵라면, 이온음료 |
| 10 | 초콜릿, 이온음료 |
| 품목 | 등장한 거래 수 | 지지도 |
|---|---|---|
| 우유 | 5 | 5 ÷ 10 = 0.5 |
| 삼각김밥 | 6 | 6 ÷ 10 = 0.6 |
| 컵라면 | 4 | 4 ÷ 10 = 0.4 |
| 초콜릿 | 4 | 4 ÷ 10 = 0.4 |
| 이온음료 | 4 | 4 ÷ 10 = 0.4 |
세 가지 지표로 규칙을 재어 본다
- 지지도(support)
- 전체 거래 가운데 A와 B가 함께 담긴 거래의 비율.
지지도 = (A와 B를 함께 포함한 거래 수) ÷ (전체 거래 수)
- 신뢰도(confidence)
- A를 산 거래 가운데 B도 함께 산 거래의 비율.
신뢰도 = (A와 B를 함께 포함한 거래 수) ÷ (A를 포함한 거래 수)
- 향상도(lift)
- 신뢰도를 B의 지지도로 나눈 값.
향상도 = 신뢰도 ÷ (B의 지지도)이며, A를 산 사실이 B를 살 가능성을 얼마나 바꾸는지 나타낸다.
삼각김밥 → 우유 규칙을 손으로 계산해 본다.
- 삼각김밥과 우유를 함께 산 거래는 1, 2, 3, 4번으로 4건이다. 는 4 ÷ 10 = 0.4다.
- 삼각김밥을 산 거래는 6건이다. 는 4 ÷ 6 ≈ 0.667이다.
- 우유의 지지도는 0.5다. 는 0.667 ÷ 0.5 ≈ 1.333이다.
지지도는 규칙이 얼마나 자주 나타나는지를 말한다. 신뢰도는 A를 산 사람 가운데 B도 산 비율을 말한다. 향상도는 그 비율이 B의 평균 구매 비율보다 높은지를 말한다.
코드로 구한 값이 손계산과 같다. 삼각김밥 → 우유의 는 1.333이다.
반대 방향인 우유 → 삼각김밥도 향상도가 1.333이다. 는 0.667과 0.8로 달랐는데 향상도는 같다.
컵라면 → 우유는 향상도가 0.5로 1보다 작다. 초콜릿 → 우유는 정확히 1.0이다.
| 규칙 | 함께 산 거래 수 | 지지도 | 신뢰도 | 향상도 |
|---|---|---|---|---|
| 삼각김밥 → 우유 | 4 | 0.4 | 4 ÷ 6 ≈ 0.667 | 1.333 |
| 우유 → 삼각김밥 | 4 | 0.4 | 4 ÷ 5 = 0.8 | 1.333 |
| 컵라면 → 우유 | 1 | 0.1 | 1 ÷ 4 = 0.25 | 0.5 |
| 초콜릿 → 우유 | 2 | 0.2 | 2 ÷ 4 = 0.5 | 1.0 |
| 이온음료 → 컵라면 | 2 | 0.2 | 2 ÷ 4 = 0.5 | 1.25 |
은 함께 일어난 일을 찾는다. 어느 쪽이 원인인지는 알려 주지 않는다.
삼각김밥과 우유가 함께 팔린 이유는 둘 다 아침 식사 대신 쓰였기 때문일 수도 있다. 규칙을 찾은 다음에는 그 규칙이 왜 생겼는지 따로 확인해야 한다.
확인 문제
4문항 · 고르면 바로 채점된다
전체 거래 10건 가운데 컵라면과 이온음료를 함께 산 거래가 2건이다. 이 규칙의 지지도는 얼마인가?
지지도는 함께 포함한 거래 수를 전체 거래 수로 나눈 값이므로 2 ÷ 10 = 0.2다. 0.4는 컵라면 하나의 지지도이고, 0.5는 신뢰도 2 ÷ 4의 값이다.
초콜릿 → 우유 규칙의 신뢰도는 0.5이고 우유의 지지도는 0.5다. 이 규칙의 향상도와 해석으로 알맞은 것은 무엇인가?
향상도는 신뢰도를 B의 지지도로 나눈 값이므로 0.5 ÷ 0.5 = 1.0이다. 향상도가 1이면 초콜릿을 샀는지가 우유 구매와 관계없다는 뜻이다.
신뢰도가 높은 규칙은 향상도도 반드시 1보다 크다.
신뢰도가 높아도 B의 지지도가 그만큼 높으면 향상도는 1 이하가 된다. 초콜릿 → 우유는 신뢰도 0.5인데 우유 지지도가 0.5여서 향상도가 정확히 1이었다.
컵라면 → 우유의 향상도는 0.5다. 이 결과를 알맞게 해석한 것은 무엇인가?
향상도가 1보다 작으면 음의 연관이므로 평균보다 가능성이 낮다는 뜻이다. 컵라면을 산 사람 가운데 우유를 산 비율은 신뢰도 0.25이며, 관계가 없다는 뜻은 향상도가 1일 때다.