연관 분석(Association Analysis)은 주로 데이터 항목들 간의 관계를 찾고, 이를 통해 의미 있는 패턴을 도출하는 기법이다.
장바구니 분석(Market Basket Analysis)에서 '어떤 상품이 자주 함께 구매되는가?'와 같은 패턴을 찾는 것이 실 예이다.
대표적인 알고리즘으로는 Apriori 알고리즘과 FP-Growth가 있다.
이 알고리즘을 이해하기 위해서는 우선 지지도, 신뢰도, 향상도라는 개념을 이해해야한다.
1. 지지도(Support) : 특정 아이템 집합이 전체 거래에서 등장한 비율
예를 들어 { 빵, 우유 } 라는 집합이 있다고 했을 때, 100건의 거래중에서 빵과 우유를 동시에 구매한 거래가 30건이라면
지지도 = 30/100 = 0.3 이되는 것이다.
2. 신뢰도(Confidence) : A라는 아이템이 포함된 거래에서 B도 포함될 확률
조건부 확률의 개념으로
Confidence(A → B) = Support(A ∩ B) / Support(A)
즉, A를 구매한 건수 중 A와 B를 동시에 구매한 건수의 비율을 의미하는 것이다.
40건의 거래에서 빵이 구매되었고, 이 중 30건의 거래에서만 빵, 우유를 동시에 구매하였다면
신뢰도 = 30 / 40 = 0.75가 되는 것이다.
3. 향상도(Lift) : 두 아이템이 독립적으로 구매될 때의 확률과 비교하여, 실제로 두 아이템이 함께 구매되는 빈도가 얼마나 더 큰지를
나타내는 지표
구하는 공식으로 보면
Lift(A → B) = Confidence(A → B) / Support(B)
즉, 신뢰도 나누기 지지도인데, 신뢰도, 지지도의 식도 풀어헤쳐놓고 보면 독립적으로 구매될때의 확률과 두 아이템이 함께 구매되는
빈도를 비교한다는 의미를 알 수 있다.
만약 우유가 전체 거래의 50%에서 구매되었고, 빵을 구매한 사람 중 75%가 우유를 구매했을 경우,
빵 → 우유의 향상도는 0.75 / 0.5 = 1.5 이다.
향상도의 값이 1보다 크면, 두 아이템 간의 연관성이 높음을 의미하는데, 즉 우유와 빵이 함께 구매될 가능성이 평균보다 1.5배 높다는 뜻이다.
예시
지지도(Support): {빵, 우유}가 5개의 거래 중 3번 나타났다면, 지지도는 3/5 = 0.6 (60%)
신뢰도(Confidence): 빵을 구매한 거래는 4개 중, 그 중 3번은 우유가 함께 구매되었으므로, 신뢰도는 3/4 = 0.75 (75%)
향상도(Lift): 우유는 전체 거래 중 4번 구매되었으므로 지지도는 4/5 = 0.8. 향상도는 0.75 / 0.8 = 0.9375
신뢰도는 75%로 높은 편이지만, 향상도는 1보다 작으므로 빵과 우유는 특별히 더 많이 구매되는 경향은 없음을 알 수 있다. 둘이
독립적으로도 자주 구매된다는 사실을 보여준다.
(2)에 이어서 정리..
'이론공부 > 데이터분석' 카테고리의 다른 글
[텍스트 분석] TF-IDF (0) | 2025.01.02 |
---|---|
CRISP-DM (0) | 2025.01.02 |
[웹로그 분석] 인덱스 페이지, 랜딩페이지 (0) | 2024.02.26 |
[웹로그 분석] 사용자 세션이란? (0) | 2024.02.26 |
EDA(탐색적 데이터 분석) (0) | 2023.12.27 |