본문 바로가기
Python notes/Data Science & Machine Learning

R) 연관성 분석 association 예제 (+Groceries 데이터로)

by 성실한 나무 2021. 6. 29.

#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이 된다.

댓글