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

Другие вопросы по тегам