← 개념서모바일 버전
3과목 · 빅데이터 모델링·6

연관성 분석

지지도·신뢰도·향상도의 정의와 계산, 향상도 해석 방향, Apriori 알고리즘과 FP-Growth, 연관분석의 장단점을 다룹니다.

연관성 분석이란

거래(장바구니) 데이터에서 "A를 사면 B도 산다" 는 형태의 동시 발생 규칙을 찾는 비지도학습입니다. 장바구니 분석(Market Basket Analysis), 서열 분석이라고도 합니다.

  • 규칙의 형태: A → B (A는 조건절/선행, B는 결과절/후항)
  • 종속변수가 없고, 목적 없는(비지도) 탐색에 해당
  • 인과관계가 아니라 동시 발생 관계입니다

"연관분석은 A가 B의 원인임을 보여준다"는 오답입니다. 연관규칙은 함께 일어나는 빈도만 말해 줍니다.

세 가지 측도

전체 거래 수를 N이라 할 때,

측도 의미
지지도(Support) P(A ∩ B) = A와 B를 모두 포함한 거래 수 / 전체 거래 수 규칙이 얼마나 자주 나타나는가 (규칙의 유용성)
신뢰도(Confidence) P(B | A) = P(A ∩ B) / P(A) = A와 B 동시 거래 수 / A 포함 거래 수 A를 살 때 B도 살 조건부 확률 (규칙의 정확도)
향상도(Lift) P(B | A) / P(B) = 신뢰도 / B의 지지도 규칙이 우연보다 얼마나 나은가 (규칙의 개선도)

지지도는 방향이 없어 대칭(A→B와 B→A가 같음)이고, 신뢰도는 방향이 있어 비대칭입니다. 향상도도 대칭입니다.

계산 예제 ①

전체 거래 10건. 우유 포함 5건, 빵 포함 4건, 우유와 빵 동시 포함 3건.

규칙 우유 → 빵

  • 지지도 = 3 / 10 = 0.3 (30%)
  • 신뢰도 = 3 / 5 = 0.6 (60%)
  • 빵의 지지도 = 4 / 10 = 0.4
  • 향상도 = 0.6 / 0.4 = 1.5

향상도 1.5 > 1 → 우유를 산 사람이 빵을 살 확률이 전체 평균보다 1.5배 높음 → 양의 연관.

반대 방향 빵 → 우유

  • 지지도 = 3 / 10 = 0.3 (같음)
  • 신뢰도 = 3 / 4 = 0.75 (달라짐)
  • 향상도 = 0.75 / 0.5 = 1.5 (같음)

이 예제가 시험 문제 그 자체입니다. 지지도의 분모는 전체 거래 수, 신뢰도의 분모는 조건절(A)의 거래 수, 향상도의 분모는 결과절(B)의 지지도. 분모를 어디에 두는지만 정확히 알면 전부 맞힐 수 있습니다.

계산 예제 ② — 향상도 = 1인 경우

전체 거래 10건. A 포함 5건, B 포함 6건, A와 B 동시 3건.

  • 지지도 = 3/10 = 0.3
  • 신뢰도 = 3/5 = 0.6
  • B의 지지도 = 6/10 = 0.6
  • 향상도 = 0.6 / 0.6 = 1.0A와 B는 서로 독립, 규칙에 아무 의미가 없음

향상도 해석 — 방향을 절대 뒤집지 말 것

향상도 해석
> 1 양의 상관. A 구매가 B 구매 가능성을 높인다 → 의미 있는 규칙
= 1 A와 B는 서로 독립. 규칙이 무의미
< 1 음의 상관. A 구매가 B 구매 가능성을 낮춘다 (대체재 관계)

단골 함정 두 개. ① "향상도가 1이면 연관성이 가장 강하다" → 오답, 1은 독립입니다. ② "향상도가 낮을수록 좋은 규칙" → 오답, 향상도는 1보다 클수록 유용합니다. 향상도 0.5짜리 규칙은 쓸모없는 게 아니라 음의 연관(같이 안 사는 관계) 이라는 정보를 줍니다.

또 자주 나오는 조합 문제: 지지도와 신뢰도가 모두 높은데 향상도가 1 근처면, B가 원래 너무 잘 팔리는 상품이라 규칙이 무의미하다는 뜻입니다. 그래서 세 측도를 함께 봐야 합니다.

Apriori 알고리즘

모든 품목 조합을 다 세는 것은 품목이 k개일 때 조합 수가 지수적으로 폭발하므로, 빈발 항목집합만 남기며 후보를 줄이는 방식입니다.

핵심 원리 — Apriori 성질(하향 폐쇄성)

어떤 항목집합이 빈발하면 그 부분집합도 모두 빈발하다. 뒤집으면, 어떤 항목집합이 빈발하지 않으면 그것을 포함하는 모든 상위 집합도 빈발하지 않다.

절차

  1. 최소 지지도를 설정한다
  2. 최소 지지도를 넘는 1-항목 빈발집합을 찾는다
  3. 그 빈발집합들을 결합해 2-항목 후보를 만들고, 지지도를 계산해 걸러낸다
  4. 더 이상 빈발집합이 만들어지지 않을 때까지 k를 늘려가며 반복한다
  5. 남은 빈발집합에서 최소 신뢰도를 넘는 규칙을 생성한다
  • 장점: 원리가 단순해 이해·구현이 쉽고 결과 해석이 직관적
  • 단점: 후보 집합을 만들며 DB를 여러 번 스캔해야 해 느리고, 품목 수가 많으면 계산량이 급증

최소 지지도를 너무 낮게 잡으면 규칙이 폭발하고 계산이 감당되지 않으며, 너무 높게 잡으면 의미 있는 소수 규칙을 놓칩니다. 그리고 Apriori는 지지도 기준으로 먼저 걸러낸 뒤 신뢰도로 규칙을 만든다는 순서가 출제 포인트입니다.

FP-Growth

Apriori의 속도 문제를 개선한 알고리즘입니다.

  • FP-Tree(빈발 패턴 트리) 라는 압축된 트리 구조를 만들고, 이 트리에서 패턴을 캐냅니다
  • 후보 항목집합을 생성하지 않습니다
  • DB 스캔이 2번으로 끝나 Apriori보다 훨씬 빠름
  • 단점: 트리를 메모리에 올려야 하므로 메모리 사용량이 크고, 구조가 복잡
비교 Apriori FP-Growth
후보 생성 안 함
DB 스캔 여러 번(k+1회) 2회
속도 느림 빠름
메모리 적게 많이(트리)

"FP-Growth는 후보 항목집합을 생성한다"는 오답입니다. 후보 생성이 없다는 것이 FP-Growth의 정체성입니다.

순차 패턴과 확장

순차(서열) 분석은 시간 순서를 반영해 "A를 산 다음 B를 산다"는 규칙을 찾습니다. 연관분석에 시간 개념을 더한 것으로, 고객 ID와 거래 시점이 필요합니다.

연관분석의 장단점

장점 단점
결과가 if-then 규칙으로 나와 이해가 쉬움 품목 수가 늘면 계산량이 급증
목적 변수가 없어도 탐색적으로 적용 가능 상대적으로 거래가 드문 품목은 규칙에서 배제됨
분석 절차와 계산이 간단 품목을 세분화하면 지지도가 낮아져 규칙이 사라짐

품목을 너무 세분화하면(예: "우유"가 아니라 "○○브랜드 저지방 우유 500ml") 각 품목의 지지도가 떨어져 규칙이 나오지 않습니다. 반대로 너무 범주화하면 당연한 규칙만 나옵니다. 이 적절한 품목 세분화 수준이 연관분석 실무의 핵심 판단이며 서술형 소재로도 쓰입니다.