install.packages("arules")
install.packages("arulesViz")
library(arules)
library(arulesViz)

data(package="arules")

data(Groceries)
Groceries

Groceries데이터 세트는 30일 기간동안 169개의 아이템에 대하여 총 9835거래량이 기록된 데터 세트임.
희박행렬 형태로 저장되어 있어서 데이터 세트의 내용을 확인하려면 inspect() 함수를 사용해야 함.
inspect(Groceries[1:10])
첫 번째부터 10번째 거래까지 거래를 보여달라는 내용임.

summary(Groceries)
summary()함수로 Groceries 데이터 특성 파악

sort(itemFrequency(Groceries, type="absolute"),decreasing = T)
itemFrequency 함수를 사용하여 거래 아이템을 빈도화 함.

round(sort(itemFrequency(Groceries,type="relative"),decreasing = T),3)

itemFrequencyPlot(Groceries, topN=10, type="absolute")

itemFrequencyPlot(Groceries, topN=10, type="relative")

연관분석
apriori(Groceries)

rlt_rules=apriori(Groceries,parameter = list(support=0.005, confidence=0.5,minlen=2))

summary(rlt_rules)

inspect(rlt_rules[1:5])

rules_lift<-sort(rlt_rules,by="lift",decreasing = T)
inspect(rules_lift[1:5])

rules_conf=sort(rlt_rules,by="confidence",decreasing = T)
inspect(rules_conf[1:5])

milk_rule=subset(rules_lift,items%in% "whole milk")
milk_rule

inspect(milk_rule[1:20])

rhs.milk_rule=subset(rules_lift, rhs %in% "whole milk")
rhs.milk_rule

inspect(rhs.milk_rule[1:5])

whole_milk_rule=apriori(Groceries,parameter = list(support=0.005,
confidence=0.5,
minlen=2),
appearance = list(default="lhs",rhs="whole milk"))

whole_milk_rule<-sort(whole_milk_rule,by="lift",decreasing = T)
inspect(whole_milk_rule[1:5])

library(arulesViz)
plot(whole_milk_rule[1:10],method="graph", measure = "lift", shading="confidence")


반응형
'공부합시다 > 찍먹' 카테고리의 다른 글
| [Oracle DBMS] SQL 연습 (0) | 2021.09.17 |
|---|---|
| [Python] 기초쌓기 - 가위바위보(random) (0) | 2021.09.13 |
| [R] 차원축소 기법 (0) | 2021.06.15 |
| [R] K-평균 클러스터링 분석 수행 (0) | 2021.06.15 |
| [R] 수치 예측 목적의 러신머닝 (0) | 2021.06.15 |