공든탑앱 열기

연관규칙: 지지도·신뢰도·향상도

ADsP (데이터분석 준전문가) · 연관분석 · 약 13분

쉽게 말하면

마트 영수증 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 순서

  1. 최소 지지도를 정한다
  2. 개별 품목 중 최소 지지도를 넘는 것을 찾는다
  3. 그 품목들로 두 품목 집합을 만들어 최소 지지도를 넘는 것을 찾는다
  4. 세 품목, 네 품목 … 으로 늘리며 더 이상 없을 때까지 반복한다
  5. 빈발 항목 집합에서 최소 신뢰도를 넘는 규칙을 만든다

빈발하지 않은 집합을 포함한 큰 집합은 절대 빈발할 수 없어서 계산에서 뺀다. 이 가지치기 덕분에 모든 조합을 다 세지 않는다.

장점과 단점

장점단점
if-then 규칙이라 해석이 쉽다품목이 늘면 조합이 기하급수적으로 늘어 계산이 많다
목적변수가 없어도 된다거래가 드문 품목은 지지도가 낮아 규칙에서 빠지기 쉽다
거래 데이터를 그대로 쓰기 쉽다의미 없는 규칙이 많이 나와 걸러 내야 한다 (향상도로 판단)

알아 둘 점

  • 지지도·신뢰도·향상도를 함께 본다. 신뢰도가 높아도 향상도가 1 이면 그냥 B 가 원래 잘 팔리는 것이다
  • '지지도보다 신뢰도가 일반적으로 더 중요하다'처럼 하나만 중요하다고 단정하지 않는다
  • 순차 패턴은 시간 순서를 고려해 '노트북을 산 뒤 한 달 안에 가방을 산다' 같은 규칙을 찾는다

시험에 이렇게 나와요

확인 문제

Q1. 전체 100건 중 우유 구매 50건, 우유와 빵을 함께 산 거래 20건이다. '우유 → 빵' 의 신뢰도는?

  1. 0.2
  2. 0.25
  3. 0.4
  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 의 향상도는?

  1. 0.4
  2. 0.5
  3. 1
  4. 2
정답 보기

3번 1

신뢰도 40 / 80 = 0.5, P(B) = 0.5, 0.5 / 0.5 = 1.

Q3. 같은 자료에서 B → A 의 신뢰도는?

  1. 0.2
  2. 0.4
  3. 0.5
  4. 0.8
정답 보기

2번 0.4

40 / 100 = 0.4. 방향을 바꾸면 분모가 B 구매 수가 된다.

Q4. 규칙의 방향을 바꿔도 값이 같은 지표끼리 묶은 것은?

  1. 신뢰도, 향상도
  2. 지지도, 신뢰도
  3. 모두 달라진다
  4. 지지도, 향상도
정답 보기

4번 지지도, 향상도

지지도와 향상도는 A, B 에 대칭이다.

Q5. 커피만 20건, 우유만 50건, 둘 다 30건, 전체 100건일 때 '우유 → 커피' 의 지지도는?

  1. 0.2
  2. 0.3
  3. 0.375
  4. 0.5
정답 보기

2번 0.3

지지도는 0.3이다. 지지도 = 두 상품을 함께 산 거래 ÷ 전체 거래 = 30 ÷ 100이다. 방향(우유 → 커피)과 관계없이 같다.

Q6. 향상도가 0.6 인 규칙에 대한 해석은?

  1. A 를 사면 B 를 오히려 덜 사는 경향(대체 관계)
  2. A 를 사면 B 를 함께 사는 경향이 강하다
  3. A 와 B 는 서로 독립이다
  4. 지지도가 60% 다
정답 보기

1번 A 를 사면 B 를 오히려 덜 사는 경향(대체 관계)

A를 사면 B를 오히려 덜 사는 경향(음의 연관, 대체 관계)이다. 향상도가 1이면 서로 독립, 1보다 크면 함께 사는 경향이다.

Q7. 연관분석의 장점이 아닌 것은?

  1. 거래 데이터를 그대로 쓰기 쉽다
  2. if-then 규칙이라 해석이 쉽다
  3. 품목 수가 늘어도 계산량이 거의 늘지 않는다
  4. 목적변수가 없어도 된다
정답 보기

3번 품목 수가 늘어도 계산량이 거의 늘지 않는다

품목이 늘면 조합이 폭발적으로 늘어난다.

헷갈리기 쉬운 O·X

'A → B' 의 신뢰도와 'B → A' 의 신뢰도는 항상 같다.

정답 보기

X 분모가 A 구매 수와 B 구매 수로 다르다.

향상도가 1 이면 두 품목은 서로 독립이다.

정답 보기

O

Apriori 는 개별 품목을 찾은 뒤 최소 지지도를 설정한다.

정답 보기

X 최소 지지도를 먼저 정한다.

함께 보면 좋은 개념