数据挖掘中的关联分析
关注隐私
是 否 是 是 是 是 否 否 否
• 上表是具有连续属性的因特网调查数据,如年龄、年收入、每周上网 小时数、e-mail账号数就是连续属性。
• 对连续属性数据进行关联分析的方法具体有(1)基于离散化的方法, (2)基于统计学的方法,(3)非离散化方法。
• 2.1基于离散化的方法
• 所谓离散化就是将连续属性的邻近值分组,形成有限个区间。例如, 年龄属性可以划分成如下区间:年龄∈[12,16),年龄∈[16,20), 年龄∈[20,24),…,年龄∈[56,60)其中,[a,b)代表包含a但不 包含b的区间。离散的区间可以映射到非对称的二元属性,使得可以 使用已有的关联分析算法
• (1)计算开销非常大。如果值域被划分成k个区间,则必须创建k(k-1)/2 个二元项来代表所有可能的区间。此外,如果对应于区间[a,b)的项是频繁 的,则包含[a,b)的区间对应的所有项也必然是频繁的。因此,这种方法可 能产生过多的候选和频繁项集。为了处理这些问题,可以使用最大支持度阈 值,防止创建对应于非常宽的区间的项,并减少项集的数量。
• 2.3基于非离散化的方法
文档
文档1 文档2 文档3 文档4 文档5
word1 word2 word3 word4 word5 word6
0.3
0.6
0
0
0
0.2
0.1
0.2
0
0
0
0.2
0.4
0.2
0.7
0
0
0.2
0.2
0
0.3
0
0
0.1
0
0
0
1.0
1.0
0.3
• 对所有文档的平均规范化频率求和 • S(word1,
word2)=(0.3+0.6)/2+(0.1+0.2)/2+(0.4+0.2)/2+(0.2+0)/2=1,该 方法求得的所有支持度都为1,无法得出有趣的模式。
• 运用另一种发现词关联的方法称为min-Apriori。 S(word1, word2)=min(0.3+0.6)+min(0.1+0.2)+min(0.4+0.2)+min(0.2+0) =0.6
• 方法:假设检验。
• 实施(针对上面规则):先对一些符号进行说明,设u是满足规则的事物中的 年龄的均值,u’是不满足规则的事物中的年龄的均值。△用户可接受的年龄 差(若年龄差小于△ ,认为无差异)
• n1是满足规则的事物个数,n2是不满足规则的事物个数;s1是满足规则的 事务中年龄的标准差,s2是不满足规则的事务中年龄的标准差。
要出在标称属性上,如例子中的州名这一属性。若不加处理的将其用多个二 元项取代,计算量将会过大,不太实际。所以实际做法是,将相关的属性值 分组,形成少数类别。例如,每个州名都可以用对应的地理区域如中西部、 太平洋西北部、西南部和东海岸取代。另一种可能性是,将不太频繁的属性 值聚合成一个称作其他的类别。 • (2)某些属性的频率可能比其他属性高很多,容易产生冗余模式。例如, 假定85%的被调查人都有家庭计算机。如果为每个频繁出现在数据中的属性 值创建一个二元项,我们可能产生许多冗余模式,如下面的例子所示:{家 庭计算机=是,网上购物=是}{关注隐私=是}
• R11:年龄∈[12,20)->网上聊天=是 (s=9.2%,c=60.5%) • R12:年龄∈[20,28)->网上聊天=是 (s=9.2%,c=60.0%) • 不像R2,我们不能通过聚合两个子规则来恢复R1,因为两个字规则的置信度
都低于阈值。处理这些问题的一个方法是,考虑邻近区间的每种可能的分组。 例如,我们可以以宽度4岁开始,将临近的区间合并成较宽的区间,年龄 ∈[12,16),年龄∈[12,20),…,年龄∈[12,60),年龄∈[16,20), 年龄∈[16,24)等等。这种方法能够检测出R1和R2是强规则。然而,这也 导致如下计算问题。
2、处理连续属性
性别
…
女 男 男 女 女 男 男 男 女
年龄
26 51 29 45 31 25 37 41 26
年收入
90K 135K 80K 120K 95K 网 小时数 20 10 10 15 20 25 10 8 12
E-mail帐 号数 4 2 3 3 5 5 1 2 1
研究生
大学
是
否
0
1
1
0
…
1
0
1
0
0
1
…
0
1
1
0
1
0
…
1
0
0
1
0
1
…
1
0
0
1
1
0
…
1
0
1
0
0
1
…
1
0
1
0
0
1
…
0
1
1
0
0
0
…
0
1
0
1
1
0
…
0
1
• 使用关联分析,从上表挖掘出的信息是:{网上购物=是}{关注隐私=是}
1.2分类属性二元化的不足
• 利用二元化后的数据进行关联分析时,需要注意以下几点: • (1)有些属性值可能不够频繁,不能成为频繁模式的一部分。这个问题主
下表是二元化分类属性和连续属性后的因特网调查数据
男
女
…
年龄 年龄 年龄 …
关注隐 关注隐
<13 ∈[13 ∈[21
私=是 私=否
,21) ,30)
0
1
…
0
0
1
…
1
0
1
0
…
0
0
0
…
0
1
1
0
…
0
0
1
…
1
0
0
1
…
0
0
0
…
1
0
0
1
…
0
0
0
…
1
0
1
0
…
0
0
1
…
1
0
1
0
…
0
0
0
…
0
1
1
0
…
0
0
0
…
0
1
0
1
…
0
Thank you
END
法等等。
• 关于该规则的支持度和置信度的计算如下:
• 上面规则的支持度s={尿布、啤酒}支持度计数/事物个数=3/5=0.6 • 上面规则的置信度c={尿布、啤酒}支持度计数/{尿布}支持度计数
=3/4=0.75
1、处理分类属性
性别 女 男
男 女 女
文化程度 研究生 大学
研究生 大学 研究生
州 伊利诺伊
• (2)提取许多冗余规则。例如,考虑下面的规则对: • R3:{年龄∈[16,20),性别=男}->{网上聊天=是} • R4:{年龄∈[16,24),性别=男}->{网上聊天=是}
• 2.1基于统计学的方法
• 需指定用于刻画有趣总体段特性的目标属性,保留目标属性,对其余属性进 行二元化,产生频繁项集时,对目标属性在每个段内的分布进行汇总。例: 对因特网用户的年龄求平均值得到 {年收入>$100K,网上购物=是} ->年 龄:均值=38 这一有趣规则。
关联分析中各种属性的处理
知识回顾
1.分类属性的处理
1.1概念介绍 1.2处理方法 1.3分类属性二元化的不足
2.连续属性的处理
2.1基于离散化的方法 2.1基于统计学的方法 2.3基于非离散化的方法
• 关联规则挖掘假定输入数据由称作项的二元属性组成。还假定项在 事物中出现比不出现更重要。这样,项被看作非对称的二元属性, 且只有频繁模式才被认为是有趣的。
• (3)尽管每个事物的宽度与原始数据中属性个数相同,但是计算时 间可能增加,特别是当新创建的项变成频繁项时。这是因为需要更多 时间处理由这些项产生的候选集。减少计算时间的一种方法是,避免 产生包含多个来自同一属性的项的候选项集。例如,我们不必产生诸 如{州=X,州=Y,…}的候选项集,因为该项集的支持度计数为零。
• 例:
TID 1 2 3 4 5
6-2购物篮数据的二元0/1表示
面包 1 1 0 1 1
牛奶 1 0 1 1 1
尿布 0 1 1 1 1
啤酒 0 1 1 1 0
鸡蛋 0 1 0 0 0
可乐 0 0 1 0 1
• 从上述的购物篮数据中,我们可得出{尿布}{啤酒}这一有趣的规则。 • 这一频繁项集的得出,我们可以运用:Apriori算法、Hash树法、FP增长算
0
1
…
0
1
• 下表是根据年龄组划分的数据
年龄组 [12,16) [16,20) [20,24) [24,28) [28,32) [32,36) [36,40) [40,44) [44,48) [48,52) [52,56) [56,60)
网上聊天=是 12 11 11 12 14 15 16 16 4 5 5 4
• R11:年龄∈[16,20)->网上聊天=是 (s=4.4%,c=84.6%) • R12:年龄∈[36,60)->网上聊天=否 (s=4.4%,c=78.6%) • 由于两个子规则都低于最小支持度阈值,离散化后R1丢失了。同理,
规则R2被分裂成4个子规则,也因4个子规则的支持度都低于最小支 持度阈值而丢失。
• R1‘:年龄∈[12,36)->网上聊天=是 (s=30%,c=57.7%) • R2’:年龄∈[36,60)->网上聊天=否 (s=28%,c=58.3%) • 尽管它们有较高的支持度,但是较宽的区间导致两个规则的置信度都