简体   繁体   English

R:覆盖apriori产生的规则

[英]R: overwrite rules that apriori produced

I want to overwrite confidence values of an apriori output, then put the output into is.redundant. 我想覆盖先验输出的置信度值,然后将输出放入is.redundant。 I got an error at the last line. 我在最后一行出现错误。 How do you do it? 你怎么做呢?

library(arules)
data(Groceries) # read sample data
# find apriori rules
outApriori = apriori(Groceries, 
                     parameter = list(support=0.001, confidence=0.70, minlen=1, maxlen=4)
                     ,appearance = list(rhs = "whole milk"  ) )
dfApriori = as.data.frame(inspect(outApriori[1:5])) # convert into data.frame
# modify the confidence value conservatively by adding one error sample
(estimateConfidence= dfApriori$count / (1 + round( dfApriori$count / dfApriori$confidence ) ))
dfApriori$confidence = estimateConfidence
outRmRedundant <- dfApriori[!is.redundant(dfApriori)] # Error in (function (classes, fdef, mtable)  : 

# Error in (function (classes, fdef, mtable)  : 
#             unable to find an inherited method for function ‘is.redundant’ for signature ‘"data.frame"’

The function is.redundant() expects a rules object not a data.frame . 函数is.redundant()需要一个rules对象,而不是data.frame Here is how you change the quality slot of the rules object: 这是更改rules对象的质量位置的方法:

library(arules)
data(Groceries)
# find apriori rules
rules <- apriori(Groceries, 
  parameter = list(support=0.001, confidence=0.70, minlen=1, maxlen=4),
  appearance = list(rhs = "whole milk"))

estimatedConfidence <- quality(rules)$count / (1 + round(quality(rules)$count / quality(rules)$confidence))

quality(rules)$confidence <- estimatedConfidence

rules.nonredundant <- rules[!is.redundant(rules)] 
inspect(head(rules.nonredundant))

BTW: You might want to look at Laplace Corrected Confidence ( http://michael.hahsler.net/research/association_rules/measures.html#laplace ) which can be calculated using the function interestMeasure() . 顺便说一句:您可能想看一下拉普拉斯校正后的置信度( http://michael.hahsler.net/research/association_rules/measures.html#laplace ),该函数可以使用functioninterestMeasure interestMeasure()进行计算。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM