0

我正在尝试在 R 的 arulesSequences 包中运行 cspade 函数。在使用 read_baskets 成功读取我的事务后,我尝试对我读入的事务对象执行 cspade 函数。

但是,当我执行命令时,我得到一个错误:系统调用失败。具体来说,这是输出。

 preprocessing ... 1 partition(s), 1.2 MB [0.23s]
 mining transactions ...Error in cspade(table, parameter = list(support = 0.1), control =         list  (verbose = TRUE)) : 
 system invocation failed

“挖掘交易”的存在表明 cspade 代码中的以下函数调用失败。

  if (system2(file.path(exe, "spade"), args = c("-i", file, 
  "-s", parameter@support, opt, "-e", nop, "-o"), stdout = out)) 
  stop("system invocation failed"). 

作为参考,我可以使用示例 zaki 数据集成功生成序列。

有谁知道为什么该命令可能会失败?

谢谢,

斯图尔特

4

2 回答 2

2

http://en.wikibooks.org/wiki/Data_Mining_Algorithms_In_R/Sequence_Mining/SPADE#Caveats

请参阅上面的链接,注意事项部分并降低您的支持门槛。

于 2012-09-28T14:37:25.667 回答
-2

我有同样的问题,我减少了支持(put 0),仍然没有工作。但是想出了另一个解决方案:我更改了数据大小(更少的行)并且它有效。因此,例如,如果您可以将数据集划分为 2 个一半大小的部分,并将每个部分的事务数据设为 x_1 和 x_2,

频繁模式_1 <- cspade(x_1,参数=列表(支持= 0))频繁模式_2 <- cspade(x_2,参数=列表(支持= 0))

然后获得分析每个数据集以获得所有结果的绝对支持。

获得绝对支持值 support_x_1<-support(frequent_pattern_1 ,x_1, type= c("absolute"), control = NULL) support_x_2<-support(frequent_pattern_2 ,x_2, type= c("absolute"), control = NULL)

然后找到匹配序列并对匹配序列的支持进行求和。

于 2018-06-14T16:27:52.610 回答