数据集中的频繁项集(关联规则挖掘)

联合采矿 搜索数据集中的常用项。在频繁挖掘中,通常会发现事务数据库和关系数据库中项目集之间有趣的关联和相关性。简言之,频繁挖掘显示哪些项在一个事务或关系中同时出现。

null

关联挖掘的需求: 频繁挖掘是从事务数据集中生成关联规则。如果经常购买X和Y两种商品,那么最好在商店里把它们放在一起,或者在购买其他商品时对其中一种商品提供折扣优惠。这真的能增加销售量。例如,如果客户购买 牛奶 面包 他/她还购买 黄油 . 所以关联规则是 【牛奶】^【面包】=>【黄油】 .因此,如果顾客购买牛奶和面包,卖家可以建议他/她购买黄油。

重要定义:

  1. 支持: 这是衡量兴趣的标准之一。这说明了规则的有用性和确定性。 5%支持 表示数据库中总有5%的事务遵循规则。

    Support(A -> B) = Support_count(A B)
  2. 信心: 60%的信心意味着60%购买牛奶和面包的顾客也会购买黄油。

    Confidence(A -> B) = Support_count(A B) / Support_count(A)

    如果一条规则同时满足最小支持度和最小置信度,那么它就是一条强规则。

    Support_count(X) : Number of transactions in which X appears. If X is A union B then it is the number of transactions in which A and B both are present.

  3. 最大项目集: 如果一个项目集的所有超集都不频繁,则该项目集是最大频繁的。
  4. 已关闭项目集: 如果项目集的直接超集中没有一个具有与项目集相同的支持计数,则项目集关闭。
  5. K-项目集: 包含K个项目的Itemset是K-Itemset。因此,如果相应的支持计数大于最小支持计数,则可以说项目集是频繁的。

查找频繁项集的示例- 考虑给定事务的给定数据集。

图片[1]-数据集中的频繁项集(关联规则挖掘)-yiteyi-C++库

  • 假设最低支持数为3
  • 关系保持是最大频繁=>closed=>frequent

1-频繁: {A} =3;//由于{A,C}而未关闭且不是最大值 {B} =4;//由于{B,D}而没有关闭,并且没有最大 {C} =4;//由于{C,D}不是最大值而未关闭 {D} =5;//已关闭的项集,因为非直接超集具有相同的计数。不是最大的

2-频繁: {A,B}=2//不频繁,因为支持计数 {A,C}=3//由于{A,C,D}而未关闭 {A,D}=3//由于{A,C,D}而未关闭 {B,C}=3//由于{B,C,D}而未关闭 {B,D}=4//由于{B,C,D}而闭合但不是最大的 {C,D}=4//由于{B,C,D}而闭合但不是最大的

3-频繁: {A,B,C}=2//忽略不频繁,因为支持计数 {A,B,D}=2//忽略不频繁,因为支持计数 {A,C,D}=3// {B,C,D}=3//最大频繁

4-频繁: {A,B,C,D}=2//忽略不频繁

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享