一种关联规则的挖掘方法和关联规则的挖掘装置的制造方法_4

文档序号:9911203阅读:来源:国知局
分段,则对应的数据立方体的 维数和每个维的长度会有所不同,可以根据实际情况进行合理选择。
[0129] 多值无序数据立方体是指事务集中每一个事务的每一个项的取值不是0和1,而是 任意数,一般取值为整数;无序是指一个事务中项的取值是没有顺序的,例如对于一个三项 集,取值为[1 2 3]和[3 1 2]的两个事务是一样的。
[0130] 对于这样的多值无序事务集,在表示为多维数据立方体时,可以先将事务中的项 按照从小到大排序,然后按照多维数据立方体的结构进行存储;也可以不排序,直接进行存 储。为了命名方便,这样的事务集表示成的多维数据立方体命名为多值无序数据立方体。
[0131] 多值有序数据立方体与多值无序数据立方体类似,多值有序是指事物集中每一个 事务的每一个项的取值为任意数,一般为整数,且项的取值是有顺序的,取值为[1 2 3]和 [3 1 2]的事务是不一样,表示两个不同的事务。在存储为多维数据立方体时,按照事务中 项的顺序,依次存入多维数据立方体的对应维中。为了命名方便,这样的事务集表示成的多 维数据立方体命名为多值有序数据立方体。
[0132] 对于属性数据立方体,在进行关联规则挖掘时,经常要处理一些和属性有关的问 题,例如对于一幅图像,经过面向对象的图像分割,图像被分割成若干个对象,对于每个对 象,可以提取各种属性,如色调、熵、形状等等,如果要挖掘这些属性之间的关联规则,就需 要用到属性数据立方体。
[0133] 具体步骤是,首先计算每个对象的每个属性;然后按照一定的规则,对每个属性的 值进行量化,量化等级需要根据实际情况确定,每个属性的量化等级可以相同,也可以不 同;每一个对象的所有属性量化后可以用一个事务表不,一个属性对应事务中的一个项;最 后将事务中的每一项依次存入多维数据立方体的某一维中。经过上述操作,这些属性数据 即转化为多值数据立方体。由于该属性数据源与传统的数据源有所差异,所以在命名时将 由属性转化的事务集构成的多维数据立方体命名为属性数据立方体。
[0134] 第一生成模块52,用于根据所述多维数据立方体得到1-项集和1-项频繁集。
[0135] 在具体实施中,第一生成模块52还用于统计所述事务集中每个值在每个维度上的 出现频率以及每个维度上每个值的支持度,得到1-项集。
[0136] 具体的,首先扫描一遍事务集,将事务集转化为多维数据立方体,同时记录下整个 事务集的长度,设为Len。比如,将事务集转化为三维多值有序数据立方体,即每一个事务由 三个项构成,项之间是有序的,并将该三维数据立方体表示为A。设置最小支持度为min_ sup,最小置信度为min_cof。由于项是有序的,因此同一个数在三个维度上出现时,其意义 是不一样的,此时在获取1-项集时需要单独处理。采用数组的循环操作,在三个维度上分别 统计每个值出现的频度:
[0137] for k = 1 :maxkv
[0138] sup_k = sum(A(k, : , :))/Len;
[0139] end
[0140]其中maxkv表示在第一维上的最大值,8卯_1^是第一维上每个值的支持度,sum〇是 求和操作。A(k,:,:)表示三维数据立方体A中第一维等于k的所有子集。由于A的三个维度的 长度是有限的,且远小于原始事务集的长度,因此数组求和的计算速度非常快。对三个维度 都执行相同的操作,即可获得1-项集,由于事务中的项是有序的,因此依然用数组存储最终 的项集,如下表所示:
[0141]
[0142] 在具体实施中,第一生成模块52还用于查找其支持度大于最小支持度的1-项集, 得到1-项频繁集。
[0143] 第二生成模块53,用于根据1-项频繁集得到k-项集和k-项频繁集,以及根据k-项 集得到k+Ι-项集和k+Ι-项频繁集,其中k为大于且等于2的正整数。
[0144] 第三生成模块54,用于根据1-项频繁集和k-项频繁集,产生1-项频繁集的所有子 集和k_项频繁集的所有子集以生成所述事务集的关联规则。
[0145] 在具体实施中,第三生成模块54还用于根据Apriori算法生成所述事务集的关联 规则。
[0146] 具体的,由于原始事务集和得到的各频繁项集均存储在多维数据立方体中,在生 成关联规则时,生成步骤包括:
[0147] 对于每个频繁项集,产生该频繁项集的所有子集,根据下面的公式判断是否产生 一条规则:
[0148]

[0149] 其中1为某个频繁项,s为该频繁项的某个子集,如果满足此条件,则输出关联规 则:
[0150]
[0151] 其中Ι-s表示频繁项1中去除s后剩下的子I?别是该规 则的支持度和置信度。
[0152] 生成关联规则的主要计算量在于获取每个频繁子集的支持度。传统方法是将每个 子集与事先获取的各频繁集进行比较,如果匹配了,就获取其支持度,进而输出规则。一般 而言,匹配的过程是比较耗时的,尤其是当最小支持度设置得比较低,获取的各频繁集比较 多时,更耗时。本发明将每个频繁项都统一存储在多维数据立方体中,利用数组的快速寻址 能力,能够快速地获取每个频繁子集的支持度,从而提高生成关联规则的速度。
[0153] 在具体实施中,由于本发明的主要内容是从遥感影像中挖掘关联规则,因此以一 幅302像素*302像素大小的QuickBird融合影像进行实验,以测试基于多维数据立方体的关 联规则快速挖掘算法的有效性。在进行关联规则挖掘之前,需要先将彩色遥感影像灰度化, 并进行灰度级的压缩,以减少数据量。按照以下公式进行彩色影像的灰度化:
[0154] Y = 0.299R+0.587G+0.114B (4-7)
[0155] 其中Y表示灰度化后的影像,R、G和B分别表示彩色影像的3个波段。然后直接采用 最简单的分段线性压缩的方式,对灰度化后的影像进行灰度级压缩:
[0156]
[0157] 其中g表示压缩前的灰度级,G表示压缩后的最大灰度级,在下面的实验中,取G = 8〇
[0158] 以下测试的内容是从灰度级压缩后的影像上提取像素之间的关联规则,为简单起 见,仅考虑连续3个像素的关联规则。则该事务集中每个事务包含3个项,每个项的最大值为 8,项之间是有顺序的,事务集中事务的最大数量为300*300 = 90000个,为测试事务数量对 算法性能的影响,将事务数量从30000增加到90000。设置最小支持度从0.1 %到0.5%,增量 步长为0.05%,最小置信度为0.2,考察在某个事务数量水平下,运行时间随支持度变化的 关系。测试环境为笔记本电脑,Windows XP系统,2G内存,CPU为酷睿双核P8400,主频 2.26GHz,运行环境为Mat lab 7.0。结果如图6所示,其中"3w"表示事务数量为30000,其他图 例表示以此类推。
[0159] 如图6所示的运行时间,包括从读取数据到输出关联规则的所有CPU时间。从图中 可以看出,运行时间基本上维持在0.15秒左右,从整体上看,随着最小支持度的增加,运行 时间会减少,这是因为最小支持度增加后,频繁项的数量会减少。由于在整个挖掘过程中, 仅仅只遍历一遍原始事务集,而且在遍历事务集时将事务集转换为多维数据立方体,遍历 多维数据立方体远比遍历事务集的效率高,因此总的运行时间非常低。当最小支持度增加 到一定程度后,运行时间基本上保持稳定,有小幅波动,波动产生的原因主要是受操作系统 后台运行的其他服务的影响。当最小支持度增加到一定程度后,运行时间基本上没有变化; 随着事务数量的增加,运行时间也没有显著变化,说明本发明的挖掘算法对于事务集的大 小和最小支持度的变化有一定的鲁棒性,能够保证较快速地挖掘出满足要求的关联规则。 [0 160] 在上述实验中,没有将该方法与现有的Apriori及FP-Growth等算法进行比较,原 因在于,Apriori及FP-Growth等算法对数据有一定的要求,即同一个事务中,项的取值不能 相同,也就是说,[2 2 5]这样的事务是不符合要求的。但是在本发明的实验测试中,影像经 过灰度级压缩,相邻像素的灰度值很可能相等,那么在构成事务时,一个事务中项的取值有 可能相同,即类似[225]这样的事务可能大量存在,而且,在本发明后续的基于像素和对象 的影像检索中,类似的事
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1