【问题标题】:Frequent Itemsets & Association Rules - Apriori Algorithm频繁项集和关联规则 - Apriori 算法
【发布时间】:2012-12-20 10:39:48
【问题描述】:

我正在尝试了解用于数据挖掘的 Apriori(篮子)算法的基础知识,

我最好用一个例子来解释我遇到的复杂情况:

这是一个交易数据集:

t1: Milk, Chicken, Beer
t2: Chicken, Cheese
t3: Cheese, Boots
t4: Cheese, Chicken, Beer
t5: Chicken, Beer, Clothes, Cheese, Milk
t6: Clothes, Beer, Milk
t7: Beer, Milk, Clothes

上述的最小限制是 0.5 或 50%。

从上面来看,我的事务数显然是 7,这意味着要使一个项集“频繁”,它的计数必须是 4/7。因此,这是我的频繁项集 1:

F1:

Milk = 4
Chicken = 4
Beer = 5
Cheese = 4

然后,我为第二次改进 (C2) 创建了候选对象并将其缩小到:

F2:

{Milk, Beer} = 4

这是我感到困惑的地方,如果要求我显示所有频繁项集,我是写下所有F1F2 还是只写下F2F1 对我来说不是“集合”。

然后我被要求为我刚刚定义的频繁项集创建关联规则并计算它们的“置信度”数字,我得到了:

Milk -> Beer = 100% confidence
Beer -> Milk = 80% confidence

F1 的项集放在这里似乎是多余的,因为无论如何它们都会有 100% 的置信度,并且实际上不会“关联”任何东西,这就是我现在质疑 F1 是否是确实“频繁”?

【问题讨论】:

  • 空集也是集合。并且有些集合具有 1 个元素。它们可以是常用项集,而无需提供有用的关联规则

标签: algorithm data-mining apriori


【解决方案1】:

如果支持合适,大小为 1 的项集被认为是常见的。 在这里您必须考虑最小阈值。例如,如果您的示例中的 最小阈值2,则不会考虑 F1。但如果最小阈值1,那么你必须这样做。

您可以查看herehere 了解更多想法和示例。

希望我有所帮助。

【讨论】:

  • 在这种情况下没有指定最小阈值,是不是认为F1 项是频繁的?他们是否应该在“关联规则”中表示出来,甚至认为他们只与自己关联?
  • 很遗憾,是的。但是,没有最小阈值就没有先验。因为它会导致错误的规则。最小阈值始终由数据分析师确定。
【解决方案2】:

如果最小支持阈值 (minsup) 是 4 / 7,那么如果它们出现在 7 个事务中不少于 4 个事务中,则应将单个项目包含在频繁项目集中。因此,在您的示例中,您应该包含它们:

牛奶 = 4 鸡 = 4 啤酒 = 5 奶酪 = 4

对于关联规则,它们具有 X ==> Y 的形式,其中 X 和 Y 是不相交的项集,并且通常假设 X 和 Y 不是空集(这是 Apriori 假设的)。因此,您至少需要两个项目来生成关联规则。

【讨论】:

    猜你喜欢
    • 2016-09-18
    • 1970-01-01
    • 2011-10-26
    • 2016-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-04
    • 2015-03-18
    相关资源
    最近更新 更多