14. 연관규칙과 로지스틱회귀분석
14-1. 연관규칙 분석 1
(Association Rule Analysis)
1) 연관규칙
- 연관규칙 (Association Rule)
- 대용량 데이터베이스의 트랜잭션에서 빈번하게 발생하는 패턴을 발견
- 거래간의 상호 관련성을 분석
A사건 -> B사건
A가 일어나면 B가 일어난다
- 연관규칙 예시
- 신발을 구매하는 고객의 10%는 양말을 동시에 구입한다.
- 빵과 우유를 구매한 고객의 50%가 쥬스도 함께 구매한다.
- 시장바구니(market basket) : 고객이 구매한 물품에 대한 정보 (구매 시기, 지불 방법, 매장정보 포함)
- 트랜잭션(transaction) : 고객이 거래한 정보를 하나의 트랜잭션
- 시장바구니 분석(market basket analysis) : 시장바구니 데이터로부터 연관규칙을 탐색 분석
2) 연관규칙 평가 척도
- 연관규칙을 평가하기 위해 지지도(support), 신뢰도(Confidence), 향상도(Lift)를 사용
- 향상도(lift)
- A가 거래된 경우, 그 거래가 B를 포함하는 경우와 B가 임의로 거래되는 경우의
3) 연관규칙 : 거래데이터 예제
- 식료품점 shopping cart
4) 연관규칙 수행 패키지
- 연관규칙 수행을 위한 패키지 : arules
install.packages("arules")
library(arules)
연관규칙분석 수행을 위한 패키지 설치 (arules), 라이브러리 설정
5) 연관규칙분석을 위한 데이터
- Data frame vs Transaction data
dvd1<-read.csv("dvdtrans.csv")
dvd1
dvd.list<-split(dvd1$Item,dvd1$ID)
dvd.list
dvd.trans<-as(dvd.list,"transactions")
dvd.trans
inspect(dvd.trans)
- arules package를 통해 transaction 데이터 변환과 연관 규칙 분석을 함
- Split을 통해 id별로 item들을 as함수를 통해 transaction 데이터로 변환
- transaction 데이터로 변환된 'dvd.trans'
- transaction 데이터의 요약
summary(dvd.trans)
- 10트랜잭션 / 10 항목
- 밀도가 0.3 라고 되어 있는데, 10*10 cell 중에서 30%의 cell에 거래가 발생해 데이터가 있다는 뜻
- 거래항목 중 Gladiator=7번, Patriot=6번, Six Sense=6번 순으로 나왔음을 의미
6) 연관규칙 수행함수
- 연관규칙 함수 : apriori(transaction, parameter=list(support=list(support=0.0#, confidence=0.##))
dvd_rule<-apriori(dvd.trans, parameter = list(support=0.2,confidence = 0.20,minlen = 2))
dvd_rule
[출력 결과]
set of 13 rules
support=0.2, confidence=0.2이상인 13개의 연관규칙 생성됨
7) 연관규칙 수행결과 - dvdtrans 데이터
- 연관규칙 수행 컨솔창
- 연관규칙 수행결과
- 연관규칙의 해석
지지도 : Green Mile과 Sixth Sense를 동시에 구매할 확률 : 20%
신뢰도 : Green Mile를 구매한 경우는 모두 Sixth Sense를 구매 : 100%
향상도 : Green Mile를 구매하면 Six Sense의 구매비율이 1.667배 향상됨을 의미
- 그래프로 표현한 연관규칙 - 지지도>0.2이상의 항목들의 상대빈도
itemFrequencyPlot(dvd.trans,support=0.2,main="item for support>=0.2", col="green")
'공부 > R & Python' 카테고리의 다른 글
14-3. 로지스틱 회귀분석(Logistic Regression) (0) | 2020.03.05 |
---|---|
14-2. 연관규칙 분석 2 (0) | 2020.03.05 |
13-3. 군집분석 - 비계층적 군집분석 - (0) | 2020.03.05 |
13-2. 군집분석 - 계층적 군집분석 - (0) | 2020.03.05 |
13-1. 군집분석-군집분석과 유사성척도 (0) | 2020.03.05 |