r 关联规则先验
Posted
技术标签:
【中文标题】r 关联规则先验【英文标题】:r association rules apriori 【发布时间】:2017-05-02 02:38:08 【问题描述】: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.transactions
或者mbr_no其他方式的类型转换
但是还是不行
我该如何解决?
【问题讨论】:
apriori
中的默认支持率为 (0.1) 10%。如果数据没有 10% 支持的项目,那么将有零规则。您可以通过指定support = <value>
来更改它。尝试?apriori
并按照文档获取有关不同参数的默认和非默认规范的指南。
【参考方案1】:
您的变量mbr_no
似乎与您的数据中出现的 178834-7 个不同的值是连续的。您需要离散化连续变量。 as.factor
不会这样做,而是为变量的每个不同值分配一个级别。所以你应该这样做:
aa$mbr_no <- discretize(aa$mbr_no)
discretize
是arules
包的一部分(参见? discretize
)。
【讨论】:
以上是关于r 关联规则先验的主要内容,如果未能解决你的问题,请参考以下文章