【发布时间】:2023-04-01 03:12:01
【问题描述】:
我正在运行这样的先验算法:
rules <-apriori(dt)
inspect(rules)
其中 dt 是我的 data.frame 格式:
> head(dt)
Cus T C B
1: C1 0 1 1
2: C2 0 1 0
3: C3 0 1 0
4: C4 0 1 0
5: C5 0 1 0
6: C6 0 1 1
数据集的想法是捕获客户以及他/她是否在特定购买中购买了三种不同的商品(T、C 和 B)。例如,根据上面的信息,我们可以看到 C1 买了 C 和 B;客户 C2 到 C5 只买了 C,客户 C6 只买了 C 和 B。
输出如下:
lhs rhs support confidence lift
1 {} => {T=0} 0.90 0.9000000 1.0000000
2 {} => {C=1} 0.91 0.9100000 1.0000000
3 {B=0} => {T=0} 0.40 0.8163265 0.9070295
4 {B=0} => {C=1} 0.40 0.8163265 0.8970621
5 {B=1} => {T=0} 0.50 0.9803922 1.0893246
6 {B=1} => {C=1} 0.51 1.0000000 1.0989011
我的问题是:
1) 我怎样才能摆脱 T、C 或 B 等于 0 的规则。如果你想一想,规则 {B=0} => {T=0} 甚至 {B=1} => {T=0} 没有任何意义。
2)我正在阅读先验算法,在大多数示例中,每一行代表实际的交易,所以在我的例子中,它应该是这样的:
C,B
C
C
C
C
C, B
而不是我的一组 1 和 0,这是一个规则吗?或者我仍然可以使用我的格式吗?
谢谢
【问题讨论】: