r ассоциация правила априори
hh<-read.csv("MT_MBR_CTGR_BUY_PTTRN_DAY.csv")
library(arules)
aa<-subset(hh, select=c(mbr_no,ctgr_flag_nm))
'data.frame': 643241 obs. of 2 variables:
$ mbr_no : num 2.01e+14 2.01e+14 2.01e+14 2.01e+14 2.01e+14 ...
$ ctgr_flag_nm: Factor w/ 7 levels "그린핑거","기저귀",..: 1 4 4 4 4 4 4 4 7 7 ...
aa$mbr_no<-as.factor(aa$mbr_no)
rioter.transaction<-as(aa, "transactions")
rioter.transaction
transactions in sparse format with
643241 transactions (rows) and
178834 items (columns)
rules = apriori(rioter.transaction)
summary(rules)
set of 0 rules
Почему у меня 0 правил?
Я пытался сделать read.transaction
или преобразование типа mbr_no другими способами
но это все еще не работает
как я могу это исправить?
1 ответ
Ваша переменная mbr_no
кажется непрерывным с 178834-7 различных значений, встречающихся в ваших данных. Вам нужно дискретизировать непрерывную переменную. as.factor
не будет делать этого, но назначит уровень для каждого отдельного значения переменной. Поэтому вы должны сделать что-то вроде этого:
aa$mbr_no <- discretize(aa$mbr_no)
discretize
является частью arules
пакет (см. ? discretize
).