Search

연관규칙

연관 규칙(Association Rule)이란?

연관 규칙이란 특정 사건들이 동시에 발생하는 빈도로 상호 연관성을 표현하는 규칙
빈발 아이템 집합으로 모든 데이터 집합에서 공통적으로 나타나는 아이템을 관찰
아이템 간의 관계를 if..then으로 나타냄
{peanut butter, jelly} → {bread}
유형
장바구니 분석: A를 산 사람이 B도 같이 산다
서열 분석: A를 사고나서 B를 산다
암 데이터 분석에서 단백질 서열과 자주 발견되는 흥미로운 DNA의 패턴 찾기
구매 패턴 분석하기
{버거} → {감자튀김}, {샐러드} → {과일}, {버거, 감자튀김} → {콜라}
사기 신용카드나 보험과 복합해 발생하는 의료 청구 발견하기
휴대폰 서비스를 정지하거나 케이블 텔레비전 패키지를 업그레이드하려는 행위의 사전 조합 식별하기
영화 추천
가능한 추천 항목: {Movie1} → {Movie2}, {Movie2} → {Movie4}, {Movie1} → {Movie3}

지지도( Support)

전체 거래항목 중 상품 A와 상품 B를 동시에 포함하여 거래하는 비율
support(A, B) = P(A ∩ B)

신뢰도(Confidence)

상품 A를 포함하는 거래 중 A와 B가 동시에 거래되는 비중
상품 A를 구매했을 때, 상품 B를 구매할 확률이 어느 정도 되는지를 확인
confidence(A → B) = P(A ∩ B)/P(A)

향상도(Lift)

A가 주어지지 않았을 때 B의 확률 대비, A가 주어졌을 때 B의 확률 증가 비율
lift(A → B) = P(A ∩ B)/P(A) ⋅ P(B) = P(B|A)/P(B)
A와 B가 동시에 일어난 횟수 / A, B가 독립된 사건일 때, A, B가 동시에 일어날 확률
Lift = 1 : 서로 관련 없는 경우(두 품목이 서로 독립관계)
Lift > 1 : 두 품목이 양의 상관관계
Lift < 1 : 두 품목이 음의 상관관계

연관규칙분석 사례 1

A 구두와 B 바지의 연관규칙 분석
분석 결과 활용
A 구두를 구매한 고객에게 B바지를 추천
B바지의 마케팅 대상을 선정할 때, A구두를 구매한 고객을 선정
A 구두와 B바지를 패키지 상품으로 구성

연관규칙분석 사례 2

30대와 사망과의 연관규칙(타이타닉 데이터)
해석
30대이면서 사망한 케이스는 전체 데이터 중 20% 차지함
30대 중 33%의 탑승객이 사망함
30대와 사망와의 지지도는 0.83으로 1보다 작기 때문에 음의 상관관계임, 즉 30대와 사망률은 반비례

Apriori 알고리즘

빈발항목집합(frequent item sets, 최소지지도 이상을 갖는 항목집합) 만을 고려하여 데이터 간 연관관계를 밝히기 위한 방법
모든 가능한 항목집합의 개수를 줄임
아이템 수가 증가할수록 모든 경우의 수에 대해 지지도, 신뢰도, 향상도를 계산하는 것이 어려우므로, 이를 개선하기 위해 빈발 집합 (frequent item sets)만을 고려하여 연관규칙을 생성
최소지지도 요건을 만족하지 못하는 아이템 집합의 규칙은 계산하지 않음
컨텐츠 기반 추천 (contents-based recommendation)의 기본)
효율적인 연관규칙 탐색을 위한 수단
거래에서 나타나는 모든 항목들의 가능한 부분집합의 개수나 연관규칙의 개수가 item 이 증가할 때마다 지수적으로 증가
한 항목이 자주 발생한다면, 이 항목집합의 모든 부분집합 역시 자주 발생하는 빈발항목집합임
한 항목이 자주 발생하지 않는다면, 이 항목집합을 포함하는 모든 집합은 자주 발생하지 않는 비빈발항목집합임
장점
매우 대량의 거래 데이터와 작동이 이상적으로 적합하다
쉽게 이해할 수 있는 결과를 내놓는다
‘데이터 마이닝’에 유용하고 데이터베이스 안에 예상하지 못한 지식을 발견한다
단점
작은 데이터셋에 유용하지 않다
상식과 통찰력을 구별해야 한다
무작위 패턴에서 거짓된 결과를 끄집어내기 쉽다

Apriori 알고리즘 적용 사례

다음 구매 내역을 분석하여 가장 연관성이 높은 항목을 Apriori 알고리즘으로 도출하시오
1.
최소 지지도 요건 설정: 0.2로 설정
2.
최소 지지도 요건 만족하지 못하는 요소 제거
라면: 0.8, 달걀: 0.5, 콜라: 0.5, 햇반: 0.3, 참치캔: 0.2, 양파: 0.1
양파 (0.1)는 최소지지도 요건을 만족하지 못하므로 제외
3.
최소 지지도 요건을 만족하는 2개짜리 아이템 집합 생성
구분라면달걀콜라햇반참치캔라면0.40.40.20.2달걀0.300.2콜라00.1햇반0참치캔
4.
최소 지지도 요건(0.2) 만족하지 못하는 요소 제거
(달걀, 햇반), (콜라, 햇반), (콜라, 참치캔), (햇반, 참치캔)
5.
상기 과정 반복
최소 지지도 요건 (0.2)을 나타내는 아이템 집합이 없을 때 까지 아이템 집합의 크기를 1씩 증가
6.
상위 연관 규칙 도출
{참치캔}→{달걀, 라면} : 지지도(0.2), 신뢰도(0.1), 향상도(2.5)
참치캔을 구매하는 소비자는 달걀과 라면을 동시에 살 확률이 높다