Association Analysis in R
※ Association Analysis in R (연관분석)
■ 연관분석 패키지
- arules : 연관분석 패키지
- arulesViz : 연관분석 시각화용 패키지
■ 연관분석
□ transactions 형식의 data
- apriori()를 사용하기 위해 data를 transactions 형식으로 변환
> as(data, "transactions")
□ 시각화
- 함수
itemFrequencyPlot()
- parameter
- data : transactions 형식의 data
- topN : 상위 몇 개의 data를 출력할 것인지
- type : item Frequency 타입 (“absolute” / “relative”)
> itemFrequencyPlot(data, topN = 10, type = "absolute")
> itemFrequencyPlot(data, topN = 10, type = "relative")
□ 규칙 생성
- apriori()를 사용하여 연관규칙 생성
- 함수
apriori(data, parameter =
NULL
, …) - parameter
- data : transactions 형식으로 변환된 데이터
- supp : 지지도
- conf : 신뢰도
- maxlen : 연관 규칙의 최대 길이
- target : “rules” / …
> apriori(data, parameter = list(supp=0.1, conf=0.6, maxlen=2, target = "rules"))
■ 결과 해석
- 함수
inspect()
- parameter
- data : apriori()를 통해 생성된 data
- by : (“support” / “confidence” / “lift”)
- decreasing : T/F
> rules <- apriori(data, parameter = list(supp=0.1, conf=0.6, maxlen=2, target = "rules"))
# 상위 6개의 지지도별
> rules_supp <- sort(rules, by = "support", decreasing = T)
> inspect(rules_supp)
# 상위 6개의 신뢰도별
> rules_conf <- sort(rules, by = "confidence", decreasing = T)
> inspect(rules_conf)
# 상위 6개의 향상도별
> rules_lift <- sort(rules, by = "lift", decreasing = T)
> inspect(rules_lift)
# 특정 아이템이 있는 규칙
> rules_ABC <- subset(rules, items %in% ("ABC"))
> inspect(rules_ABC)
- lhs : 선행 item
- rhs : 규칙의 결과, 앞의 item이 발생했을 때 연관되는 item
- support : 지지도 / lhs와 rhs가 동시에 발생하는 확률
- confidence : 신뢰도 / lhs가 발생하는 경우, rhs가 발생할 조건부 확률
- coverage : lhs 와 rhs 중 어느 하나라도 포함되는 전체 거래의 비율
- lift : 향상도 / 1보다 큰 경우 양의 상관
- count : 해당 규칙이 몇 번 발생했는지
댓글남기기