我想在我的数据集中的Cuisines列上执行Apriori方法。
铜柱样品:
   [4] Japanese, Sushi                                                                   
   [5] Japanese, Korean                                                                  
   [6] Chinese                                                                           
   [7] Asian, European                                                                   
   [8] Seafood, Filipino, Asian, European                                                
   [9] European, Asian, Indian                                                           
  [10] Filipino                                                                          
  [11] Filipino, Mexican            我的代码:
install.packages("arules") 
 library("arules")
 itemsets <- apriori(dataSet$Cuisines, parameter=list(support=0.02, minlen=1, maxlen=1, target="frequent itemsets"))不管我怎么说:
没有将“因素”强制“事务”的方法或默认情况
这里出什么问题了?
在我的数据集中对这一列使用Apriori方法是否不合逻辑?
如果是,我应该在哪种类型的列上使用apriori方法?
发布于 2019-05-08 14:32:46
您必须将数据转换为事务类型:
dats <- strsplit(as.character(dats$Cuisines),',',fixed=T) # split by comma    
trans <- as(dats, "transactions")
inspect(trans)
    items                               
[1] { Sushi,Japanese}                   
[2] { Korean,Japanese}                  
[3] {Chinese}                           
[4] { European,Asian}                   
[5] { Asian, European, Filipino,Seafood}
[6] { Asian, Indian,European}           
[7] {Filipino}                          
[8] { Mexican,Filipino}然后你就可以做apriori了
itemsets <- apriori(trans, parameter=list(support=0.3))
inspect(itemsets)有数据:
 dats <- read.table(text ="    Cuisines
       [1] 'Japanese, Sushi'                                                                   
       [2] 'Japanese, Korean'                                                                  
       [3] 'Chinese'                                                                           
       [4] 'Asian, European'                                                                   
       [5] 'Seafood, Filipino, Asian, European'                                                
       [6] 'European, Asian, Indian'                                                           
       [7] 'Filipino'                                                                          
       [8] 'Filipino, Mexican' ", header = T)https://stackoverflow.com/questions/56040896
复制相似问题