1) "Groceries" dataset에 대한 연관분석 결과를 출력한 그래프 (324쪽의 그래프)를 이미지로 저장하고,
2) "Adult" dataset에 대한 연관분석 결과를 출력한 그래프를 이미지로 저장
flowchart TD
A[1.데이터준비] --> B[패키지설치 및 로딩] --> C[3. 데이터 파일 읽기] --> D[4.데이터 현황 분석]
--> E[5.연관규칙 생성] --> F[6.결과 분석]
install.packages('arules')
install.packages('arulesViz')
library(arules)
library(arulesViz)
# 트랜잭션 클래스 형태의 데이터 파일.
trans = read.transactions(file.choose(), format = "basket", sep = ",")
trans

inspect(trans)

itemFrequency(trans, type = "absolute")

itemFrequency(trans)

itemFrequencyPlot(trans, type = "absolute",
xlab = "상품 아이템", ylab = "거래 빈도",
col = 1:5)

itemFrequencyPlot(trans, xlab = "상품아이템", ylab = "비율",
col = 1:5, topN = 5, family = "AppleGothic")

rules = apriori(trans, parameter = list(supp = 0.4, conf = 0.7, minlen = 2))

inspect(rules)

rules2 = subset(rules, lift>1.0)
rules3 = sort(rules2, by = "lift", decreasing = TRUE)
inspect(rules3)

plot(rules2, method = "graph",
control = list(nodeCol = "green",edgeCol = "red", alpha = 1))

rules4 = apriori(trans,
parameter = list(supp = 0.4, conf = 0.7, minlen=2),
appearance = list(default = "rhs", lhs = "A"))
inspect(rules4)

rules5 = apriori(trans,
parameter = list(supp = 0.4, conf = 0.7, minlen = 2),
appearance = list(default = "lhs", rhs = "B"))
inspect(rules5)

rules6 = subset(rules5,lift>1.0)
inspect(rules6)

data("Groceries")
summary(Groceries)

inspect(Groceries[1:3])

inspect(Groceries[9834:9835])

itemFrequency(Groceries)

itemFrequencyPlot(Groceries,
xlab = "상품아이템", ylab = "비율", col = 1:5, topN = 10,family = "AppleGothic")

rules = apriori(Groceries,
parameter = list(supp = 0.02, conf = 0.4, minlen = 2, maxlen = 3))
inspect(rules)


rules2 = apriori(Groceries,
parameter = list(supp = 0.02, conf = 0.4, minlen = 2, maxlen = 3),
appearance = list(default = "rhs", lhs = "root vegetables"))
inspect(rules2)

rules3 = apriori(Groceries,
parameter = list(supp = 0.02, conf = 0.4, minlen = 2, maxlen = 3),
appearance = list(default = "lhs", rhs = "other vegetables"))
inspect(rules3)
