연관규칙분석 알고리즘에 대해서 알아보겠습니다.
장바구니 알고리즘이라고도 하는데
예를 들면 기저귀를 산 사람(가정에 아이가 있는 사람이겠죠?)이 분유나, 아이용품 등을 살 확률이 높은 것인데, 이 것을 수치화해놓은 것입니다.
품목 X,Y가 있다고 할 때, 이 품목들에 대해서 전체 상품에서 수치화를 시켜서 나타낼 수 있는데, 지지도, 신뢰도, 향동도에 대해서 나타낼 수 있습니다.
- 지지도(support) : 전체 거래에서 X,Y를 동시에 포함한 거래 비율
- 신뢰도(Confidence) : X를 구입한 거래 중 Y를 같이 구입한 비율
- 향상도(lift) : X를 구매 했을 때 Y의 구매비율이 그러한 조건이 없는 경우에 얼마나 커지는가를 나타내는 지표
저희는 지지도와 신뢰도만 알아보도록 하겠습니다.
예를 들면 아래와 같은 테이블이 있다고 생각해봅시다.
구매자 | 구매리스트 |
p1 | A B C |
p2 | D A E |
p3 | A B F G |
p4 | F B E |
p5 | A C E |
p6 | C E H |
이럴 때, 지지도는 몇일까요?
총 구매자 6명 중, A B를 동시에 구매한 사람은 2명(p1,p3) 입니다.
이 때 지지도는 2/6 = 33.33%가 됩니다.
그렇다면 신뢰도는 몇일까요?
A와 B의 신뢰도가 다를 수 있기 때문에, 각각 구해봐야 합니다.
그러면 A를 산 사람이 B를 살 확률을 구해보면
A를 구매한 사람 4명(p1,p2,p3,p5)면 총 구매자 6으로 나누면 확률은 2/3가 됩니다.
그러면 확률 계산을 하면
A,B를 동시에 산 사람 / A를 산 사람
(1/3) / (2/3) = 50% 가 됩니다.
B를 구매한 사람이 A를 살 확률을 구해보면
(1/3) / (1/2) = 2/3 이 됩니다.
때문에, B를 산 사람은 A를 살 확률이 더 높습니다. A를 산 사람이 B를 살 확률보다.
구현을 한다면 아래와 같이
참고
[2] - https://ordo.tistory.com/89
'개발 > 잡다개발' 카테고리의 다른 글
파비콘 html적용 방법 (0) | 2020.09.07 |
---|---|
nginx uwsgi (0) | 2020.09.04 |
공분산 메모 (0) | 2020.07.17 |
SNA 메모 (0) | 2020.07.17 |
Word2Vec (0) | 2020.07.14 |