티스토리 뷰

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

 

 

data(package="arules")

 

 

data(Groceries)
Groceries

※ sparse format(희박행렬, 희소행렬)

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")

Groceries TopN=10 아이템(절대빈도)

 

 

 

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

Groceries TopN=10 아이템(상대빈도)

 

 

연관분석

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")

반응형
LIST
댓글
링크
공지사항
최근에 올라온 글