arules패키지에서 제공되는 내장 데이터 Adult를 이용하여 연관규칙을 생성하고 유사한 연관규칙끼리 네트워크 형태로 시각화
실습 (Adult 데이터 셋 가져오기)
data(Adult)
Adult
실습 (AdultUCI 데이터 셋 보기)
data("AdultUCI")
str(AdultUCI)
실습 (Adult 데이터 셋의 요약통계량 보기)
1단계: data.frame형식으로 보기
adult <- as(Adult, "data.frame")
str(adult)
head(adult)
2단계: 요약통계량
summary(Adult)
실습 (지지도 10%와 신뢰도 80%가 적용된 연관규칙 발견)
ar <- apriori(Adult, parameter = list(supp = 0.1, conf = 0.8))
실습 (다양한 신뢰도와 지지도를 적용한 예)
1단계: 지지도를 20%로 높인 경우 1,306개 규칙 발견
ar1 <- apriori(Adult, parameter = list(supp = 0.2))
2단계: 지지도를 20%, 신뢰도 95%로 높인 경우 348개 규칙 발견
ar2 <- apriori(Adult, parameter = list(supp = 0.2, conf = 0.95))
3단계: 지지도를 30%, 신뢰도 95%로 높인 경우 124개 규칙 발견
ar3 <- apriori(Adult, parameter = list(supp = 0.3, conf = 0.95))
4단계: 지지도를 35%, 신뢰도 95%로 높인 경우 67개 규칙 발견
ar4 <- apriori(Adult, parameter = list(supp = 0.35, conf = 0.95))
5단계: 지지도를 40%, 신뢰도 95%로 높인 경우 36개 규칙 발견
ar5 <- apriori(Adult, parameter = list(supp = 0.4, conf = 0.95))
실습 (규칙 결과 보기)
1단계: 상위 6개 규칙 보기
inspect(head(ar5))
2단계: confidence(신뢰도)기준 내림차순 정렬 상위 6개 출력
inspect(head(sort(ar5, decreasing = T, by = "confidence")))
3단계: lift(향상도)기준 내림차순 정렬 상위 6개 출력
inspect(head(sort(ar5, by = "lift")))
실습 (연관규칙 시각화)
1단계 패키지 설치
install.packages("arulesViz")
library(arulesViz)
arulesViz패키지
2단계: 연관규칙 시각화
plot(ar3, method = "graph", control = list(type = "items"))
지지도, 신뢰도 조정 필요
실습 (Groceries 데이터 셋으로 연관분석)
arules패키지에서 제공되는 Groceries 데이터 셋 사용
1단계: Groceries 데이터 셋 가져오기
data("Groceries")
str(Groceries)
Groceries
2단계: 데이터프레임으로 형 변환
Groceries.df <- as(Groceries, "data.frame")
head(Groceries.df)
3단계: 지지도 0.001, 신뢰도 0.8 적용 규칙 발견
rules <- apriori(Groceries, parameter = list(supp = 0.001, conf = 0.8))
4단계: 규칙을 구성하는 왼쪽(LHS) -> 오른쪽(RHS)의 item 빈도수 보기 규칙의 표현 A(LHS) -> B(RHS)
plot(rules, method = "grouped")
실습 (최대 길이가 3 이하인 규칙 생성)
rules <- apriori(Groceries,
parameter = list(supp = 0.001, conf = 0.80, maxlen = 3))
규칙을 구성하는 LHS와 RHS 길이를 합쳐서 3이하의 길이를 갖는 규칙 생성
실습 (Confidence(신뢰도)기준 내림차순으로 규칙 정렬)
rules <- sort(rules, decreasing = T, by = "confidence")
inspect(rules)
실습 (발견된 규칙 시각화)
library(arulesViz)
plot(rules, method = "graph")
'R > 머신러닝 & 딥러닝' 카테고리의 다른 글
[R] 연관분석 연습문제 (0) | 2022.11.15 |
---|---|
[R] 연관분석 실습 (1) (0) | 2022.11.14 |
[R] 앙상블 기념 및 실습 (랜덤 포레스트) (0) | 2022.11.12 |
[R] 앙상블 기념 및 실습 (배깅) (0) | 2022.11.12 |
[R] 군집분석 (2), 비계층적 군집 분석 (0) | 2022.11.11 |