R) 연관성 분석 association 예제 (+Groceries 데이터로)
#1. 연관성 분석(Association Analysis)이란?
- 일련의 거래 또는 사건들 간의 규칙을 발견하여 If-Then의 구조로 분석 결과의 연관성을 파악하는 데이터마이닝 방법론
- 장바구니분석(장바구니에 무엇이 같이 들어 있는지 분석) 또는 서열분석(A를 산 다음에 B를 사는 규칙 분석)이라고도 불림
- 연관규칙의 측도: 지지도(support), 신뢰도(confidence), 향상도(lift)
1) 지지도 = A와 B가 동시에 포함된 거래수 / 전체 거래수
2) 신뢰도 = A와 B가 동시에 포함된 거래수 / A를 포함하는 거래수
3) 향상도 = (A와 B가 동시에 포함된 거래수* 전체거래수) / (A를 포함하는 거래수 * B를 포함하는 거래수)
- 연관성 분석 알고리즘: 1세대 Apriori > 2세대 FP-Growth > 3세대 FPV
#2. R의 Apriori함수를 통해 연관규칙 분석 실시
- data(Groceries)
Groceries 데이터셋을 불러온다.
- rules=apriori(Groceries, parameter=list(support=0.05, confidence=0.3))
Groceries데이터를 최소지지도 0.05, 최소신뢰도 0.3의 값을 설정하여
apriori함수로 연관규칙 분석을 실시하고 결과값을 rules 객체에 담는다
#3. 연관규칙분석 결과 확인
- inspect(rules)
연관규칙분석 값을 넣은 객체 rules를 살펴본다.
향상도 lift 값의 내림차순으로 데이터를 정렬하려면 sort()함수를 사용한다.
- 동시에 구매될 가능성이 큰 상품군을 확인할 수 있다.
- 향상도란 A가 구매되지 않았을 때 품목 B의 구매확률에 비해 A가 구매됐을 때 품목 B의 구매확률의 증가 비이다.
- 두 상품의 구매가 관련이 없는 경우에 향상도가 1이 된다.