有没有办法将arulesViz与arulesSequences的ruleInduction输出一起使用?或者有没有办法将序列规则输出(类序列规则)强制/转换为类规则,所以我可以使用arulesViz?
目标:我有兴趣使用本文中评论的一些可视化选项,尤其是“图形”选项(https://cran.r-project.org/web/packages/arulesViz/vignettes/arulesViz.pdf)。
通常你会在arules派生的“规则”上使用arulesViz,就像这样(来自插图):
po number
但是我想在cspade + ruleInduction的输出中使用它:
rules <- apriori(Groceries, parameter=list(support=0.001, confidence=0.5))
plot(x, method = NULL, measure = "support", shading = "lift",
+ interactive = FALSE, data = NULL, control = NULL, ...)
有办法做到这一点吗?我目前得到上述错误。注意,这类似于这个问题:Error in as.double(y) : cannot coerce type 'S4' to vector of type 'double'但是那里提出的解决方案(确保你已经加载了arulesViz)不起作用/不是问题。
感谢您的帮助!
如果您认为这不是一个合适的问题,请留下反馈/评论 - 我在发布此处之前尝试了几个小时的研究,并且是一个有点新用户:很高兴听到如何改进
答案 0 :(得分:2)
原来这是我的一个概念上的误解。我最后联系了该套餐的原作者(感谢您的回复!留下您的名字,以防您不愿意被提及)并且治愈了我的隧道视野。
sequenceRules和规则,即使它们对它们运行inspect()时看起来非常相似,也是非常不同的类。 arulesViz中的plot命令可以处理规则,但不能处理序列规则。虽然我确定我不了解所有的差异,但这里有一对:
无论如何 - 我确实在万维网上找到了另一张有类似问题的海报,所以在这里发表我的理解,希望它可以帮助那里的人。
正如我在问题中所说,如果您觉得我的答案(和/或问题)应该得到改善,请以评论的形式给我反馈!非常感谢。
答案 1 :(得分:1)
这可能毫无意义,但随着我对arulesSequence的理解,我认为你可以提高你的表现力。 (A,B)和(B,A)是相同的项目集。并且{(A),(B)}和{(B),(A)}是两个不同的序列。简而言之:在一个项目集中没有订单,但顺序中的顺序很重要。所以{(A,B),(A),(C,D)}与{(B,A),(A),(D,C)}的序列相同,但与{(A),(A)不同,B),C,d)}。 我想这就是为什么arulesViz,正如你所说,不知道该怎么做。谢谢你的问题,让我了解这些包裹。