如何在 Apriori 算法中找到最小支持
Posted
技术标签:
【中文标题】如何在 Apriori 算法中找到最小支持【英文标题】:How to find the minimum support in Apriori algorithm 【发布时间】:2012-05-09 00:40:31 【问题描述】:当给出支持度和置信度的百分比值时,度。例如,当支持度和置信度分别为 60% 和 60% 时,最小支持度是多少?
【问题讨论】:
如果没有给出信心和支持百分比怎么办。那么如何找到最小的支持.. 【参考方案1】:支持度和置信度是衡量规则有趣程度的指标。
最小支持度和最小置信度由用户设置,是Apriori算法生成关联规则的参数。这些参数用于排除结果中支持度或置信度分别低于最小支持度和最小置信度的规则。
所以要回答您的问题,当您说:“例如,当支持和信心分别为 60% 和 60% 时,最低支持是多少?”您可能的意思是您已将最低支持和置信度设置为 60 %。
我认为您只是对这些术语感到困惑。
【讨论】:
支持和信心不足以确定一个规则有多有趣。我们需要相关分析来确定(卡方检验或提升检验)。【参考方案2】:我的回答来得太晚了,但我猜 Chanikag 的问题是 - “当支持阈值为 60% 时,如何最小化支持计数”。最小支持计数将是事务计数,因此它将是事务总数的 60%。如果事务数为 5,则您的最小支持数为 5*60/100 = 3。
【讨论】:
如果事务数是6怎么办? 我想应该是4 如果 3.5 ?我们应该吃 3 片还是 4 片? @iamnaran 始终采用 ceil 值,即3.1 -> 4
【参考方案3】:
在此处查看 Apriori 算法的完整说明以及可用的示例:
http://www.codeding.com/articles/apriori-algorithm
您可以添加新项目并输入最小支持阈值和最小置信度阈值,然后在演示 Silverlight 小部件中立即查看生成的大型项目集。
【讨论】:
【参考方案4】:最小支持计数是所有交易的百分比。假设您有 60% 的支持计数,5 是总交易,那么 min_support 的数量将是 5*60/100=3。
【讨论】:
如果最小支持数是 3.5 我们应该采取什么措施? 3个还是4个? 我们应该取 3.5。无需向上/向下舍入。【参考方案5】:我不确定你的问题是否有意义。从您的示例中,如果您至少返回了一条支持和置信度为 60% 的规则,您可以确定最低支持度至少为 60%,但可能更多。
Minimum-Support 是提供给 Apriori 算法的参数,用于通过指定结果关联规则的支持度量的最小下限来修剪候选规则。还有一个对应的最小置信度剪枝参数。
算法生成的每条规则都有自己的支持度和置信度度量。粗略地说,支持率是所有实例中规则为真的实例的比率。置信度是规则为真的实例与前件(蕴涵的 LHS)为真的实例数的比率。
查看Wikipedia 了解更严格的定义。
【讨论】:
【参考方案6】:您必须使用最小支持计数来比较候选人的支持计数。如果您将最小支持计数指定为“%”值,则必须先找到事务数并执行以下操作。
例如,您的数据库中有 10 个事务。
最低支持率为 70%。 现在,将数字设为 Min。 Sup.count = 事务数 * (最小支持 count% / 100)
所以,min.sup.count= 10 * 70/100
答案是 7。
这就是你必须计算 min.sup.count 的方式
【讨论】:
以上是关于如何在 Apriori 算法中找到最小支持的主要内容,如果未能解决你的问题,请参考以下文章
如何在python中为Apriori算法组合列表的字符串元素?
python实现apriori算法的关联规则之支持度置信度提升度