加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 金华站长网 (https://www.0579zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

数据挖掘中的模式发现(五)挖掘多样频繁模式

发布时间:2020-12-24 17:23:58 所属栏目:大数据 来源:网络整理
导读:副标题#e# 挖掘多层次的关联规则(Mining Multi-Level Associations) 定义 项经常形成层次。 如图所示 那么我们可以根据项的细化分类得到更多有趣的模式,发现更多细节的特性。 Level-reduced min-support 使用的是Level-reduced min-support方法来设置最低
副标题[/!--empirenews.page--]

挖掘多层次的关联规则(Mining Multi-Level Associations)

定义

项经常形成层次。

如图所示

图一

那么我们可以根据项的细化分类得到更多有趣的模式,发现更多细节的特性。

Level-reduced min-support

使用的是Level-reduced min-support方法来设置最低支持度,即,越低的层有着越低的支持度。

假设我们使用的是统一的最低支持度,那么如果支持度过低,低层的频繁项集就会较少,导致很多特性显示不出来;如果支持度过高,高层的频繁项集就过多,导致过多无用的特性被展示出来。

group-based “individualized” min-support

不同种类的物品对应的最低支持度应该是不同的,比如钻石等贵重物品出现的频率肯定是低于牛奶面包等日常用品的。

所以应该分组设置最低支持度。

Shared multi-level mining

使用最低层次的支持度来计算和传递候选集。也就是使用的是所有层中支持度最小的。

因为这样可以保证挖掘出的关联规则不会减少。

冗余规则(redundant rules)

挖掘多层关联规则时,由于项之间的“父子”关系,有些发现的规则是冗余的。

例如

已知, 14 的milk销售的是2%milk。

milk→wheatbread [support = 8%,confidence = 70%]
2%milk→wheatbread [support = 2%,confidence = 72%]

我们可以发现,第一个规则是第二个规则的祖先。而我们可以根据第一个规则的值以及比例放缩,计算出第二个规则的期望。而如果一个规则的支持度和置信度都接近“期望值”,那么我们称之为冗余规则。

挖掘多维度的关联规则(Mining Multi-Dimensional Associations)

  • 单维规则:
    • buys(X,"milk")→buys(X,"bread")
    • 可写成形如 milk→bread 的boolean关联规则
  • 多维规则:2维 或者 断言
    • 维间关联规则 (no repeated predicates)
      • age(X,"19?25")∧occupation(X,"student")→buys(X,"coke")
    • 混合维关联规则 (repeated predicates)
      • age(X,"19?25")∧buys(X,"popcorn")→buys(X,"coke")
  • 分类属性
    • 具有有限个不同值,没有排序
  • 定量属性
    • 数值的,并在数值间具有隐含的序

挖掘量化关联规则(Mining Quantitative Associations)

定义

量化关联指的是具有数字数据的属性,例如,年龄、工资等。

静态离散化(static discretization)

简单来说就是使用取值范围替代数值。

这里使用取值范围的原因和ID3和C4.5对于离散数字的处理有关,如果你要考虑每一个年龄,或者每一个薪酬,那么项的种类就会过于丰富,从而导致我们不能敏感地发现有价值的关联规则。

但是,如果我们使用十年,或者五年作为一次年龄的分割,我们就可以将项的种类缩小,而每个项出现的频率增加。

数据立方(data cube)

使用一些预定义的层次结构概念,再加上静态的离散化,我们可以得到类似下图的数据立方体。从而更好地实现挖掘功能。

图2

当然,这是固定的分类或者量化方法,也可以通过聚类将某一具体的数据进行分类,从而动态地决定量化方法。

偏差分析(deviation analysis)

用的是统计学的方法进行分析,一般是使用平均值或者中位数等等,然后根据规则和平均值的偏差来挖掘的。

Gender=female?Wage:mean=$7/hr(overall?mean=$9)

当然,我们也要通过一些统计学的测试来证明这个规则有着较高的可信度,而不仅仅一个例外。

挖掘负相关(Mining Negative Correlations)

罕见模式(Rare Pattern)

它们很少发生,有着较低的支持度,但是它们还是很有趣的。

比如,我们买了周大生的珠宝,虽然很少发生,但是我们需要这方面的规则。

那么,之前说过需要使用分组的方式来设置个性化的最低支持度。

负模式(Negative Pattern)

基于支持度的定义(support-based definition)

负相关项集 项集X是负相关的,如果

s(X)<∏kj=1s(xj)=s(x1)×s(x2)×?×s(xk)

s(x)是给出了X的所有项统计独立的概率估计。如果它的支持度小于使用统计独立性假设计算出的期望支持度。s(X)越小,模式就越负相关。简单来说,就是这两个事件不太会同时发生。

基于Kulczynski测量的定义

如果两个项集A和B,有如下关系

P(A|B)+P(B+A)2<?

则称其为负相关。(其中 ? 是人为设置的负相关的阈值)

负相关关联规则

规则 X→Y 是负相关的,如果

s(X∪Y)<s(X)s(Y)

其中 X∩Y=? ,这里定义的X和Y中的项的负相关部分条件,负相关的完全条件为

s(X∩Y)<∏is(xi)∏js(yj)

其中 xi∈X yi∈Y 。因为X或Y中的项通常是正相关的,因此使用部分条件而不是完全条件来定义负相关关联规则更实际。如规则

眼镜,镜头清洁剂→隐形眼镜,盐溶液

是负相关的,但是其中项集内的项之间是负相关的,眼镜盒镜头清洁剂是负相关的,如果使用完全条件,可能就不能发现该规则了。

负相关条件也可以用正项集和负项集的支持度表示

s(X∪Y)?s(X)s(Y)=s(X∪Y)?[s(X∪Y)+s(X∪Yˉˉˉ)][s(X∪Y)+s(Xˉˉˉ∪Y)]=s(X∪Y)s(Xˉˉˉ∪Yˉˉˉ)?s(X∪Yˉˉˉ)s(Xˉˉˉ∪Y)

可以得到负相关的条件为

s(X∪Y)s(Xˉˉˉ∪Yˉˉˉ)<s(X∪Yˉˉˉ)s(Xˉˉˉ∪Y)

负相关项集和负相关关联规则统称为负相关模式(negatively correlated pattern)。

挖掘压缩模式(Mining Compressed Patterns)

我们在进行数据挖掘的时候,会发现大量的模式,但是其中有不少的模式会有一些相似的地方,所以你得出这些规则并没有太多的意义。

图3

(编辑:PHP编程网 - 金华站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!