library(readr)
library(arules)
## Warning: package 'arules' was built under R version 4.2.1
## Loading required package: Matrix
##
## Attaching package: 'arules'
## The following objects are masked from 'package:base':
##
## abbreviate, write
ct.df <- read.csv("C:/Users/Public/Coursetopics.csv")
ct.mat <- as.matrix(ct.df)
ct.trans <- as(ct.mat, "transactions")
rules <- apriori(ct.trans, parameter = list(supp = 7/365, conf = 183/365, target = "rules"))
## Apriori
##
## Parameter specification:
## confidence minval smax arem aval originalSupport maxtime support minlen
## 0.5013699 0.1 1 none FALSE TRUE 5 0.01917808 1
## maxlen target ext
## 10 rules TRUE
##
## Algorithmic control:
## filter tree heap memopt load sort verbose
## 0.1 TRUE TRUE FALSE TRUE 2 TRUE
##
## Absolute minimum support count: 7
##
## set item appearances ...[0 item(s)] done [0.00s].
## set transactions ...[8 item(s), 365 transaction(s)] done [0.00s].
## sorting and recoding items ... [8 item(s)] done [0.00s].
## creating transaction tree ... done [0.00s].
## checking subsets of size 1 2 3 4 done [0.00s].
## writing ... [20 rule(s)] done [0.00s].
## creating S4 object ... done [0.00s].
inspect(head(sort(rules, by = "lift"), n = 20))
## lhs rhs support confidence coverage
## [1] {Intro, Regression, DOE} => {SW} 0.01917808 0.7777778 0.02465753
## [2] {Intro, DOE, SW} => {Regression} 0.01917808 0.6363636 0.03013699
## [3] {DataMining, Regression} => {Cat.Data} 0.02739726 0.6250000 0.04383562
## [4] {Intro, DOE} => {SW} 0.03013699 0.6470588 0.04657534
## [5] {Regression, DOE} => {SW} 0.01917808 0.6363636 0.03013699
## [6] {Survey, DOE} => {Cat.Data} 0.01917808 0.5833333 0.03287671
## [7] {Survey, Forecast} => {Cat.Data} 0.02191781 0.5714286 0.03835616
## [8] {DataMining, Cat.Data} => {Regression} 0.02739726 0.5555556 0.04931507
## [9] {Intro, DOE} => {Regression} 0.02465753 0.5294118 0.04657534
## [10] {Regression, DOE, SW} => {Intro} 0.01917808 1.0000000 0.01917808
## [11] {Intro, Survey} => {SW} 0.03287671 0.5454545 0.06027397
## [12] {Intro, Regression} => {SW} 0.03835616 0.5384615 0.07123288
## [13] {Cat.Data, DOE} => {SW} 0.02465753 0.5294118 0.04657534
## [14] {Regression, DOE} => {Intro} 0.02465753 0.8181818 0.03013699
## [15] {Regression, SW} => {Intro} 0.03835616 0.7000000 0.05479452
## [16] {Survey, SW} => {Intro} 0.03287671 0.6666667 0.04931507
## [17] {DataMining, Regression} => {Intro} 0.02739726 0.6250000 0.04383562
## [18] {Cat.Data, Regression} => {Intro} 0.03287671 0.6000000 0.05479452
## [19] {Survey, Forecast} => {Intro} 0.02191781 0.5714286 0.03835616
## [20] {DOE, SW} => {Intro} 0.03013699 0.5238095 0.05753425
## lift count
## [1] 3.504801 7
## [2] 3.056220 7
## [3] 3.001645 10
## [4] 2.915759 11
## [5] 2.867565 7
## [6] 2.801535 7
## [7] 2.744361 8
## [8] 2.668129 10
## [9] 2.542570 9
## [10] 2.534722 7
## [11] 2.457912 12
## [12] 2.426401 14
## [13] 2.385621 9
## [14] 2.073864 9
## [15] 1.774306 14
## [16] 1.689815 12
## [17] 1.584201 10
## [18] 1.520833 12
## [19] 1.448413 8
## [20] 1.327712 11
ct_no_intro.mat <- as.matrix(ct.df[, -1])
ct_no_intro.trans <- as(ct_no_intro.mat, "transactions")
rules_no_intro <- apriori(ct_no_intro.trans, parameter = list(supp =3/365,conf =183/365, target = "rules"))
## Apriori
##
## Parameter specification:
## confidence minval smax arem aval originalSupport maxtime support minlen
## 0.5013699 0.1 1 none FALSE TRUE 5 0.008219178 1
## maxlen target ext
## 10 rules TRUE
##
## Algorithmic control:
## filter tree heap memopt load sort verbose
## 0.1 TRUE TRUE FALSE TRUE 2 TRUE
##
## Absolute minimum support count: 2
##
## set item appearances ...[0 item(s)] done [0.00s].
## set transactions ...[7 item(s), 365 transaction(s)] done [0.00s].
## sorting and recoding items ... [7 item(s)] done [0.00s].
## creating transaction tree ... done [0.00s].
## checking subsets of size 1 2 3 4 done [0.00s].
## writing ... [16 rule(s)] done [0.00s].
## creating S4 object ... done [0.00s].
inspect(head(sort(rules_no_intro, by = "lift"), n = 16))
## lhs rhs support confidence
## [1] {Survey, Forecast, DOE} => {Cat.Data} 0.008219178 1.0000000
## [2] {Survey, Forecast, SW} => {Cat.Data} 0.008219178 1.0000000
## [3] {DataMining, Survey, DOE} => {Cat.Data} 0.008219178 1.0000000
## [4] {DataMining, Survey, Regression} => {Cat.Data} 0.008219178 0.7500000
## [5] {Cat.Data, Forecast, DOE} => {Survey} 0.008219178 0.6000000
## [6] {Cat.Data, Forecast, SW} => {Survey} 0.008219178 0.6000000
## [7] {DataMining, DOE} => {Cat.Data} 0.016438356 0.6666667
## [8] {Survey, Regression} => {Cat.Data} 0.016438356 0.6666667
## [9] {DataMining, Regression} => {Cat.Data} 0.027397260 0.6250000
## [10] {DataMining, Regression, SW} => {Cat.Data} 0.008219178 0.6000000
## [11] {Regression, DOE} => {SW} 0.019178082 0.6363636
## [12] {Survey, DOE} => {Cat.Data} 0.019178082 0.5833333
## [13] {Survey, Forecast} => {Cat.Data} 0.021917808 0.5714286
## [14] {DataMining, Cat.Data} => {Regression} 0.027397260 0.5555556
## [15] {DataMining, Survey} => {Cat.Data} 0.016438356 0.5454545
## [16] {Cat.Data, DOE} => {SW} 0.024657534 0.5294118
## coverage lift count
## [1] 0.008219178 4.802632 3
## [2] 0.008219178 4.802632 3
## [3] 0.008219178 4.802632 3
## [4] 0.010958904 3.601974 3
## [5] 0.013698630 3.220588 3
## [6] 0.013698630 3.220588 3
## [7] 0.024657534 3.201754 6
## [8] 0.024657534 3.201754 6
## [9] 0.043835616 3.001645 10
## [10] 0.013698630 2.881579 3
## [11] 0.030136986 2.867565 7
## [12] 0.032876712 2.801535 7
## [13] 0.038356164 2.744361 8
## [14] 0.049315068 2.668129 10
## [15] 0.030136986 2.619617 6
## [16] 0.046575342 2.385621 9
ct_no_intro_no_cat.mat <- as.matrix(ct.df[, c(-1, -4)])
ct_no_intro_no_cat.trans <- as(ct_no_intro_no_cat.mat, "transactions")