데이터 분석을 공부하는 사람이라면 누구나 한 번 쯤 들어보았을 예시가 있다. 바로, 마트에서 기저귀를 사 가는 사람들은 맥주를 같이 사간다는 예시이다. 이렇게 어떤 사건이 얼마나 자주 함께 발생하는지, 서로 얼마나 연관되어 있는지를 표시하는 것을 Association Rule이라고 한다. 이번 포스팅에서는 이 Association Rule에 대해 알아보겠다.
Association rule에는 사건이 얼마나 자주 함께 발생하는지를 측정할 수 있는 3가지 척도가 있다. support, confidence, lift가 그것이다.
Support는 전체 경우의 수에서 두 아이템이 같이 나오는 비율을 의미한다. 즉, 다음과 같은 식으로 표현할 수 있다.
위 식에서 N은 전체 경우의 수, N_x^y는 x와 y가 동시에 일어난 경우의 수를 의미한다. 예를 들어, 우리가 차와 라떼를 주문한 고객이 머핀을 주문할 support 값을 구하고 싶다고 하자. 그러면 우리는 다음과 같은 식을 통해 support를 계산할 수 있다. 즉, 차, 라떼, 머핀을 동시에 구매한 경우의 수를 전체 경우의 수로 나눈 값이 support가 된다.
여기서 우리가 눈치챌 수 있는 것은 support는 x와 y의 순서를 바꾸어도 결과가 똑같이 나온다는 것이다. 즉, 머핀을 주문한 고객이 차와 라떼를 주문할 support 값도 위 식과 똑같이 계산할 수 있다. Support 값은 높으면 높을수록 관계가 더 의미있다고 할 수 있다.
Confidence는 X가 나온 경우 중 X와 Y가 함께 나올 비율을 의미한다. 즉, 구매의 경우를 예로 들자면 X를 산 사람 중에 Y도 같이 사는 사람의 비율을 말한다. 이는 다음과 같은 식으로 표현할 수 있다.
위 식에서 N_x는 x가 나온 경우의 수, N_x^y는 x와 y가 동시에 일어난 경우의 수를 의미한다. 위에서 든 예시와 똑같이 , 우리가 차와 라떼를 주문한 고객이 머핀을 주문할 confidence 값을 구하고 싶다고 하자. 그러면 우리는 다음과 같은 식을 통해 confidence를 계산할 수 있다.
Confidence 값은 1에 가까울수록 관계가 더 의미있다고 할 수 있다.
Lift
Lift는 X와 Y가 같이 나오는 비율을 X가 나올 비율과 Y가 나올 비율의 곱으로 나눈 값이다. 즉, 다음과 같은 식으로 표현할 수 있다.
또 다시 우리가 차와 라떼를 주문한 고객이 머핀을 주문할 lift 값을 구하고 싶다고 하자. 그러면 우리는 다음과 같은 식을 통해 lift를 계산할 수 있다.
Lift 값은 1보다 높을 때 positively correlation, 1일 때 independent, 1 a미만일 때 negatively correlation이라고 여긴다. 그렇기 때문에 lift 값을 1보다 높은 값을 가질 때 관계가 의미있다고 할 수 있다.