使用 apriori() 从规则对象中提取 transactionID

Posted

技术标签:

【中文标题】使用 apriori() 从规则对象中提取 transactionID【英文标题】:extract transactionID from rules object with apriori() 【发布时间】:2020-12-04 03:45:03 【问题描述】:

当您应用 apriori() 函数时,是否有可能从“规则”对象中提取 transactionID? eclat() 算法有函数 'tidLists= TRUE',但我在 apriori() 中找不到它

我可以使用 itemsetInfo() 从 'transaction' 或 'tidList' 对象中提取此信息,但我需要知道在制定规则时涉及哪个 transactionID。

我将我的代码示例粘贴为任何建议。

reglas <- apriori(trans,parameter = list(sup = 0.01,conf = 0.01,minlen=4),appearance = list(rhs=c("Factor_Condiciones Laborales=1")))

我的数据可能在二进制矩阵或篮子列表中,强制它没有问题。

如果您需要更多详细信息,请告诉我。我只是想知道这是否可行。 亲切的问候。

【问题讨论】:

【参考方案1】:

Apriori 算法不基于事务 ID 列表,并且无法让您访问每个规则与哪些事务相关。

你有两个选择:

    运行 eclat 查找频繁项集(使用tidists=TRUE),然后使用ruleInduction() 从频繁项集中创建规则。您必须将规则与频繁项集相匹配。

    使用 Apriori 挖掘规则,然后为每个规则找到匹配的交易。可以使用generatingItemsets()subset()这两个函数。

【讨论】:

谢谢迈克尔。很高兴在这里见到你,我会尽快尝试你的解决方案。

以上是关于使用 apriori() 从规则对象中提取 transactionID的主要内容,如果未能解决你的问题,请参考以下文章

数据挖掘算法:关联分析二(Apriori)

Apriori 算法 理论

Apriori算法实现

在 R 中使用 Apriori 算法找不到规则

编写 Apriori 生成的规则

关联挖掘 - Apriori:它可以处理多个属性吗?