第七章(1) 关联分析:高级概念

xiaoxiao2022-06-11  51

之前的项是非对称的二元属性,项组成事务,并且只有频繁模式是有用的;接下来探索的不同:处理分类属性: 将分类属性和对称二元属性转换成项,就可以用已有的关联规则挖掘算法;将每个不同的属性-值对创建一个新的项(即转化为非对称二元属性)来实现对于二元化后的数据,需要考虑: 有些属性值不够频繁,特别是具有很多可能属性值的分类属性;不能降低阈值,可以将相关的属性值分组,形成少数类别,或者将不频繁的属性值聚合为“其他”类别部分属性值的频率很高,导致部分规则时冗余的,高频繁的项对应属性的典型值,对实际信息没有很多帮助;在使用算法前,去除“默认项”或者通过h置信度,发现<hc的规则去除(也可以发现宽的项的支持度值域的数据集(规则))每个事务的宽度等于原始数据中属性值个数的和,计算开销大,应该避免产生包含多个来自同一属性的项的候选项集(对属性具有单一属性值来说,这是不可能的)处理连续属性:包含连续属性的关联规则即量化关联规则 基于离散化的方法:最常见,将连续属性的邻近值分组,形成有限个区间;离散的区间看作分类属性,映射到非对称的二元属性;连续属性离散化问题是划分区间数,可以等宽、相对于具体事务的等频率、聚类(老中青年龄分区间)等; 区间宽度问题: 区间太宽,缺乏置信度区间太窄,缺乏支持度区间宽度的设置导致规则无法提取,可以考虑邻近区间的每种可能的分组(即等步长的渐渐加大区宽),但这也导致了: 计算开销大提取出冗余规则:(非冗余规则即指泛化到不成立临界的规则,冗余规则即其泛化规则下的特化规则)基于统计学的方法:量化关联规则可以推断总体的统计性质,运用z分数等 规则产生:先找到需要关注的目标属性,保留目标属性,对其余的分类或连续属性非对称二元化,然后用已有算法提取频繁项集,每个频繁项集确定了一个总体,计算每个确定总体的统计量(平均数、方差等);这样提取的量化关联规则(后件是连续的规则)不能使用置信度,那么怎么规则确认呢?规则确认:仅当由规则覆盖的事务的目标属性的统计量明显不同于未被规则覆盖的事务计算的统计量,这时候规则成立;运用到统计学的检验假设(H0:u1-u2=常数)非离散化方法:事务中每个项的频率/所有事务该项上的频率和,确保支持度在0~1且保证数据在相同尺度上;解决方法: 将连续属性转化为0/1矩阵,其中规范化词频>阈值则为1,否则为0;缺点是难确定阈值min-Apriori算法:发现词关联;给定文档中词之间的关联通过取它们的规范化频率的最小值得到,项集的支持度即在所有文档上聚集他的支持度(在每个事务上的各项的最小规范化频率的和),3个性质: 支持度随词的规范化频率增加而单调递增支持度随包含该词的文档个数的增加而单调递增支持度随项集中词数的增加而单调递减(反单调性)使用新的支持度定义,修改标准Apriori算法,发现词之间的关联处理概念分层:定义在一个特定领域的各种实体的多层组织;用有向无环图表示;将概念分层纳入关联分析的优点: 位于层次结构较下层的项可能没有足够的支持度,不使用概念分层会丢失细节的规则在概念分层低层发现的规则过于特殊,用较高层的规则可以总结;当然,过于高层的总结的规则可能没有价值扩充标准的关联分析,让其包括概念分层: 每个事务由其扩展事务代替,新项集包含旧项及其对应的祖先使用已有算法,发现跨越多个概念层的规则这种方法的局限性: 处于高层的项比处于低层的项有更高的支持度计数事务宽度变大,算法开销变大概念分层产生冗余规则序列模式: 问题描述:事务带有具体序列信息;序列是元素的有序列表,序列的长度对应于出现在序列中的元素(事务)个数,一个元素中可以包含1个或多个事件;关于序列的讨论主要考虑时间事件,可以推广到事件具有空间次序的情况 子序列:序列t是序列s的子序列,t中的每个有序元素都是s中一个有序元素的子集,注意要符合项的次序序列模式发现:数据序列是指与单个数据对象相关联的事件的有序列表;序列s的支持度是包含s的所有数据序列所占比例;给定序列数据集D和指定的支持度阈值minsup,序列模式的发现是找出支持度>=minsup的所有序列(针对单个对象的事件的有序列表) 对象->元素(序列的长度)->事件候选序列的个数很大,原因有两个: 一个事件可以在序列中出现多次次序在序列中是重要的,候选序列的次序也是其不同之处先验原理对序列数据是有效的,因为包含特定k-序列的任何数据必然包含该k-序列的所有(k-1)-子序列(反单调): 候选产生:使用F(k-1)*F(k-1)方法合并出候选k-序列,这样序列合并过程是完备的且避免产生重复候选序列;序列1和序列2合并,仅当从1中去掉第一个事件的子序列和2中去掉最后一个事件的子序列相同,得出的候选序列是1和2的最后一个事件的合并,当然实际情况是: 序列2最后的两个事件在同一个元素中,则合并的候选序列这两个事件还在一起序列2最后两个事件不在同一个元素中,最后一个事件作为单独元素放在最后候选剪枝:合并的候选序列的子序列如果是非频繁的,则子序列要被剪枝,合并的候选序列也要被剪枝支持度计数:枚举属于特定数据序列的所有候选k-序列,找出频繁k-项集时限约束:序列模式的每个元素都和一个时间窗口相关联,其中l是窗口内事件最早发生事件,u是事件窗口内最晚发生的时间;在现实中,序列模式去除了时间的约束可能会导致发现的模式其实是没用的,对目前情况没有指导作用的,所以加上时限约束是很有必要的 最大跨度约束:整个序列模式中所允许的事件的最晚和最早发生时间的最大时间差,只要在事务中有这样的跨度即可,加上了最大时间跨度约束就会去除部分的规则(先找到候选序列再去除)最小间隔和最大间隔约束:限制序列中两个相继元素之间的时间差来指定;必须>mingap;在已找出的序列模式中,套在数据序列上,只要达到目标即可,如有两个元素使其gap或span至少有一个情况成立则成立;在时限约束下,某些情况下,当序列的事件个数增加时,支持度增加了(可能的情况被时限给除去),这与先验原理相违背了,使用: 邻接子序列:序列s是序列w=<e1……ek>的邻接子序列,三个条件之一成立即可(e即元素): s是由w从e1或ek中删除一个事件后得到s是由w从至少包含两个事件的任意ei中删除一个事件后得到s是t的邻接子序列,而t是w的邻接子序列 (w最大,这是一种逐层叠加的意思,逐渐包装)修订的先验原理:在序列问题中,如果一个k-序列是频繁的,则它的所有邻接(k-1)-子序列也是频繁的; 序列问题中,针对子序列有频繁和时限两种约束,当maxgap=1时,只需要检验邻接(k-1)-子序列是否为频繁即可(因为邻接子序列一定是gap<maxgap的,且实际中可能这种假设可能很常见)窗口大小约束:窗口大小阈值来指定序列模式的任意元素中事件最晚和最早出现的最大时间差(候选模式的元素中的事件不必同时出现在实际事务中);窗口大小约束的出现可以让元素中的事件不必同时出现,让某些候选序列模式的支持度提高总结:时序约束是针对序列模式(提取出的序列规则)而定的限制,这其中最大跨度是对整个序列模式,间隔是对序列模式中两个相继元素之间的时间差,窗口是对序列模式中的元素中的事件的时间间隔约束(这暗示序列模式中的元素中的事件不必同时出现);其实提取的序列模式在计算支持度时,不要求其为事务序列的子序列,提升了支持度,但书中的一句话好像表明,不加入窗口大小约束,默认其为0(必须为子序列了)可选计数方案:支持度计数 COBJ:每个对象只要出现一次且只计数一次;没特别说明不遵循时限约束;输入数据中对象的总数作为基线CWIN:加入maxspan约束作为固定长度,一次移动1个时间单位,出现了1次就计数1;由所有对象中可能的时间窗口数之和作为基线CMINWIN:最小出现窗口是在给定时限约束下序列出现的最小窗口,遵循ws、maxgap、mingap;由所有对象中可能的时间窗口数之和作为基线CDIST_O:允许事件-时间戳重叠的不同出现,至少有一个新的事件的时间戳不同于以前出现过的,遵循ws、maxspan、mingap;由每个对象输入数据中出现的不同的时间戳个数之和确定CDIST:不允许事件-时间戳重叠的不同出现,当一个事件-时间戳对在计数时用过之后,将其标记为已使用,接下来不使用,遵循ws、maxspan、mingap;由每个对象输入数据中出现的不同的时间戳个数之和确定

 

转载请注明原文地址: https://www.6miu.com/read-4932122.html

最新回复(0)