2012-12-06 21 views
0

我正在處理關聯規則挖掘的大型二進制數據矩陣,4547 x 5415。按慣例,每一行都是一個交易,每一列都是一個項目。每當我調用arule包時,它都會引用一些引用trio庫的神祕錯誤消息。有沒有人有這種類型的錯誤的經驗?Arules包 - 三重奏錯誤

i[1:10,1:10] 
    101402 101403 101404 101405 101406 101411 101412 101413 101414 101415 
[1,]  0  0  0  1  0  0  1  0  0  0 
[2,]  0  1  0  0  0  0  1  0  0  0 
[3,]  0  0  0  0  0  0  1  0  0  0 
[4,]  0  0  0  1  0  0  0  0  0  1 
[5,]  0  0  0  1  0  0  0  0  0  1 
[6,]  0  1  0  0  0  1  0  0  0  0 
[7,]  0  0  0  0  0  0  1  0  0  0 
[8,]  0  0  1  0  0  0  0  0  0  1 
[9,]  0  0  0  0  0  1  0  0  0  0 
[10,]  0  0  0  0  1  0  1  0  0  0 



rules <- apriori(i, parameter=list(support=0.001, confidence=0.5)) 

    parameter specification: 
    confidence minval smax arem aval originalSupport support minlen maxlen target 
      0.5 0.1 1 none FALSE   TRUE 0.001  1  10 rules 
     ext 
    FALSE 

    algorithmic control: 
    filter tree heap memopt load sort verbose 
     0.1 TRUE TRUE FALSE TRUE 2 TRUE 

    apriori - find association rules with the apriori algorithm 
    version 4.21 (2004.05.09)  (c) 1996-2004 Christian Borgelt 
    set item appearances ...[0 item(s)] done [0.00s]. 
    set transactions ...[5415 item(s), 4547 transaction(s)] done [0.47s]. 
    sorting and recoding items ... [4908 item(s)] done [0.18s]. 
    creating transaction tree ... done [0.01s]. 
    **checking subsets of size 1 2Error in apriori(i, parameter = list(support = 0.001, confidence = 0.5)) : 
     internal error in trio library** 

重現的例子:

y <- matrix(nrow=4547, ncol=5415) 
y <- apply(y, c(1,2), function(x) sample(c(0,1),1)) 
rules <- apriori(y, parameter=list(support=0.001, confidence=0.5)) 
+0

難以調試沒有你的數據,您是否在Epub數據集上測試arules軟件包? – agstudy

+0

它使用該數據集和Groceries數據集一起工作。 – user1636475

+0

你能給出一個可重現的數據例子嗎? – agstudy

回答

4

的問題是,有錯誤的包arules處理中的錯誤。內存不足,並且當apriori代碼嘗試創建相應的錯誤消息時,它會反過來創建對printf的無效調用,這是由三重庫在Windows下處理的。所以總之你應該得到一個內存不足的錯誤。

此問題將在arules 1.1-4版中解決。

爲了避免用盡你需要增加支持和/或限制的項目集項目數(在列表中的參數MAXLEN)內存

-Michael