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 = &lt;value&gt; 来更改它。尝试?apriori 并按照文档获取有关不同参数的默认和非默认规范的指南。 【参考方案1】:

您的变量mbr_no 似乎与您的数据中出现的 178834-7 个不同的值是连续的。您需要离散化连续变量。 as.factor 不会这样做,而是为变量的每个不同值分配一个级别。所以你应该这样做:

aa$mbr_no <- discretize(aa$mbr_no)

discretizearules 包的一部分(参见? discretize)。

【讨论】:

以上是关于r 关联规则先验的主要内容,如果未能解决你的问题,请参考以下文章

R中使用先验函数的关联规则

是否可以在 mysql 语句中运行先验关联规则?

如何为关联规则分析使用一个热编码数据帧(先验)

R中的关联规则没有足够的RAM [关闭]

多维关联规则挖掘算法r语言能实现吗

关联规则与购物车比较