一种频繁模式挖掘方法及装置与流程

文档序号:18552497发布日期:2019-08-30 22:11阅读:179来源:国知局
一种频繁模式挖掘方法及装置与流程
本发明涉及数据挖掘
技术领域
,具体涉及一种频繁模式挖掘方法及装置。
背景技术
:数据挖掘(datamining)技术是一种对海量数据进行深层次分析以获取更有价值的信息和知识的高级数据分析技术,而频繁模式挖掘(frequentpatternmining)是其中一种比较重要的挖掘方法。现有的频繁模式挖掘方法都只是用支持度来度量模式在数据库中的流行程度,然而,凭支持度一个指标通常会产生很多满足条件的模式,不仅影响挖掘效率,而且还往往不能聚焦到用户真正感兴趣的模式上。虽然,通过在频繁模式挖掘中加入约束条件不仅可以大大压缩搜索空间,而且能有效聚焦于用户感兴趣的模式上,但是针对不同的驱动应用,除支持度以外如何提出新的指标或约束去度量模式的兴趣度以满足应用需求,仍是本领域技术人员的研究难点之一。技术实现要素:本发明提供一种频繁模式挖掘方法及装置,以解决现有技术中无法针对不同的驱动应用在除支持度以外如何提出新的指标或约束去度量模式的兴趣度以满足应用需求的问题。第一方面,本发明实施例提供一种频繁模式挖掘方法,所述方法包括:根据prefixspan算法,基于待分析的事务数据集生成所述事务数据集的数据库树,所述数据库树包括至少一个用于指示频繁模式的结点;遍历所述数据库树中所有结点,并在遍历过程中根据预设剪枝条件按顺序对所述数据库树进行剪枝,从至少一个频繁模式中挖掘出至少一个满足预设胜任条件的频繁模式;按照各所述满足预设胜任条件的频繁模式的胜任值从大到小的顺序,输出前k个满足预设胜任条件的频繁模式。作为本发明第一方面的优选方式,所述在遍历过程中根据预设剪枝条件按顺序对所述数据库树进行剪枝具体包括:在遍历过程中按顺序依次剪掉支持度小于支持度阈值的频繁模式、全置信度小于全置信度阈值的频繁模式、占有度上界小于占有度阈值的频繁模式以及胜任值上界小于胜任模式堆中最小的胜任值的频繁模式。作为本发明第一方面的优选方式,所述胜任值根据所述频繁模式的支持度、占有度和全置信度计算得到,所述胜任值用于指示所述频繁模式的优劣程度。作为本发明第一方面的优选方式,所述频繁模式的胜任值通过下列公式计算得到:其中,σ(p)表示频繁模式的支持度,φ(p)表示频繁模式的占有度,表示频繁模式的全置信度,λ表示频繁模式的占有度比例系数,μ表示频繁模式的全置信度比例系数。作为本发明第一方面的优选方式,所述预设胜任条件为:其中,min_sup表示频繁模式的支持度阈值,min_occu表示频繁模式的占有度阈值,min_allconf表示频繁模式的全置信度阈值。第二方面,本发明实施例提供一种频繁模式挖掘装置,所述装置包括:数据库树生成单元,用于根据prefixspan算法,基于待分析的事务数据集生成所述事务数据集的数据库树,所述数据库树包括至少一个用于指示频繁模式的结点;频繁模式挖掘单元,用于遍历所述数据库树中所有结点,并在遍历过程中根据预设剪枝条件按顺序对所述数据库树进行剪枝,从至少一个频繁模式中挖掘出至少一个满足预设胜任条件的频繁模式;模式输出单元,用于按照各所述满足预设胜任条件的频繁模式的胜任值从大到小的顺序,输出前k个满足预设胜任条件的频繁模式。作为本发明第二方面的优选方式,所述频繁模式挖掘单元具体用于:在遍历过程中按顺序依次剪掉支持度小于支持度阈值的频繁模式、全置信度小于全置信度阈值的频繁模式、占有度上界小于占有度阈值的频繁模式以及胜任值上界小于胜任模式堆中最小的胜任值的频繁模式。作为本发明第二方面的优选方式,所述胜任值根据所述频繁模式的支持度、占有度和全置信度计算得到,所述胜任值用于指示所述频繁模式的优劣程度。作为本发明第二方面的优选方式,所述频繁模式的胜任值通过下列公式计算得到:其中,σ(p)表示频繁模式的支持度,φ(p)表示频繁模式的占有度,表示频繁模式的全置信度,λ表示频繁模式的占有度比例系数,μ表示频繁模式的全置信度比例系数。作为本发明第二方面的优选方式,所述预设胜任条件为:其中,min_sup表示频繁模式的支持度阈值,min_occu表示频繁模式的占有度阈值,min_allconf表示频繁模式的全置信度阈值。第三方面,本发明实施例还提供一种计算机可读存储介质,包含计算机执行指令,计算机执行指令用于使频繁模式挖掘装置执行第一方面或第一方面的任一种优选方式中的频繁模式挖掘方法。第四方面,本发明实施例还提供一种设备,包括处理器和存储器,其中存储器内存储有执行指令,处理器读取存储器内的执行指令用于执行第一方面或第一方面的任一种优选方式中的频繁模式挖掘方法。本发明实施例提供的一种频繁模式挖掘方法及装置,通过在频繁模式挖掘中加入约束条件,在支持度约束的基础上引入了占有度约束和全置信度约束,提出将支持度、占有度、全置信度线性组合为胜任值来综合评价模式的优劣,从而以新的兴趣度量或约束来指导挖掘过程,并据此在挖掘过程中进行了对搜索空间的剪枝操作,不仅能够聚焦在用户真正感兴趣的模式上,而且能够压缩搜索空间,提高挖掘效率。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的一种频繁模式挖掘方法的流程示意图;图2为本发明实施例提供的根据prefixspan算法生成的数据库树的示意图;图3为本发明实施例提供的在旅游路线推荐应用场景中根据prefixspan算法生成的数据库树的示意图;图4为本发明实施例提供的一种频繁模式挖掘装置的结构示意图。具体实施方式为了使本
技术领域
的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。频繁模式挖掘是数据挖掘中非常基础性的问题,其按照挖掘模式类型可分为频繁项集挖掘、序列模式挖掘和结构模式挖掘。其中,频繁项集挖掘即从事务或关系数据集中挖掘频繁出现的项集,序列模式挖掘是从序列数据集中搜索频繁子序列,其中序列记录了时间的次序,而结构模式挖掘是在结构化数据集中搜索频繁子结构,其中结构是指不同类型的结构形式,如图、格、树、序列、集合、单个项或这些结构的组合。目前,大部分频繁模式挖掘算法都是使用支持度框架来度量频繁模式在数据库中的流行程度,然而,凭支持度一个指标通常会产生很多满足条件的模式,不仅影响挖掘效率,而且还往往不能聚焦到用户真正感兴趣的模式上。通过在频繁模式挖掘中加入兴趣度约束条件,不仅可以聚焦到用户感兴趣的模式上,而且可以将约束的性质用于搜索空间的压缩,从而提高算法的效率。兴趣度约束是指定兴趣度量阈值,本发明中所提的占有度和全置信度就是一种兴趣度约束。本发明中所述的频繁模式挖掘是指基于兴趣度约束的频繁项集挖掘,频繁模式挖掘就是找到所有的频繁项集,通过支持度、全置信度和占有度多个约束条件来综合评价模式的优劣,其中支持度度量频繁模式的准确性,占有度度量频繁模式的完整性,全置信度保证频繁模式的简洁性。本发明实施例公开了一种频繁模式挖掘方法,参照图1所示,该方法主要包括以下步骤:101、根据prefixspan算法,基于待分析的事务数据集生成事务数据集的数据库树,数据库树包括至少一个用于指示频繁模式的结点;102、遍历数据库树中所有结点,并在遍历过程中根据预设剪枝条件按顺序对数据库树进行剪枝,从至少一个频繁模式中挖掘出至少一个满足预设胜任条件的频繁模式;103、按照各满足预设胜任条件的频繁模式的胜任值从大到小的顺序,输出前k个满足预设胜任条件的频繁模式。步骤101中,对待分析的事务数据集采用prefixspan算法进行处理,生成该事务数据集的数据库树,其中该数据库树上包括多个结点,一个结点对应指示一个频繁模式。遍历这颗数据库树,就可以找到所有的频繁模式。由于prefixspan算法是本领域技术人员的公知常识,因此本实施例中对此不再做详细说明。步骤102中,为保证挖掘结果的准确性、完整性和可信度,本实施例中将支持度、占有度和全置信度这三个约束条件综合考虑作为频繁模式的评价指标。具体而言,就是将综合评价指标看作是支持度、占有度和全置信度的函数,即:其中,是一个映射函数,它将三个约束映射到一个实数值,即频繁模式的胜任值。优选地,胜任值根据频繁模式的支持度、占有度和全置信度计算得到,胜任值用于指示频繁模式的优劣程度。胜任值中新引入了保证挖掘结果更完整更可信的占有度和全置信度两个约束条件,给出了频繁模式的综合评价指标,在某些特定应用中能够用来度量模式的优劣,从而使挖掘更具有实际意义。本实施例中使用加权平均函数作为胜任值的具体计算公式,具体通过下列公式计算得到:其中,σ(p)表示频繁模式的支持度,φ(p)表示频繁模式的占有度,表示频繁模式的全置信度,λ表示频繁模式的占有度比例系数,μ表示频繁模式的全置信度比例系数。优选地,预设胜任条件为:其中,min_sup表示频繁模式的支持度阈值,min_occu表示频繁模式的占有度阈值,min_allconf表示频繁模式的全置信度阈值。当一个频繁模式同时满足上述预设胜任条件时,则说明该频繁模式是胜任的模式,即该模式的综合评价指标是合格的,最终得到的挖掘结果能够聚焦在用户真正感兴趣的模式上。进一步地,进行遍历时,如果不对prefixspan算法生成的数据库树进行剪枝,而是全部遍历找出所有满足预设胜任条件的频繁模式,并最终计算相应的胜任值最大的前k个满足预设胜任条件的频繁模式,这样搜索空间将随着数据库中全项集的个数呈指数级增长,挖掘效率将大大下降,算法也必将是不可伸缩的。同时,更重要的是prefixspan算法产生的数据库树具有的性质,即当按广度或深度遍历方式优先遍历数据库树时,频繁模式将按长度和项标记值递增这一优良性质不能得到很好的利用。因此,利用好支持度、占有度和全置信度这三个约束条件,只需要保留胜任值最大的前k个满足预设胜任条件的频繁模式和数据库树所具有的良好性质,对整个搜索空间进行剪枝是提高算法效率的关键问题。优选地,在遍历过程中根据预设剪枝条件按顺序对数据库树进行剪枝具体包括:在遍历过程中按顺序依次剪掉支持度小于支持度阈值的频繁模式、全置信度小于全置信度阈值的频繁模式、占有度上界小于占有度阈值的频繁模式以及胜任值上界小于胜任模式堆中最小的胜任值的频繁模式。具体如下:(1)剪掉支持度小于支持度阈值α的模式:根据支持度所具有的反单调性,即对于给定模式p,如果p不是频繁模式,那么p的所有父模式也不是频繁模式,当当前结点的支持度小于最小支持度阈值时,当前结点的所有子结点可以不用遍历,对应于数据库树中以当前结点为根结点的所有子结点可以不用遍历;(2)剪掉全置信度小于全置信度阈值θ的模式:根据全置信度所具有的反单调性,即对于给定模式p,如果p不是置信模式,那么p的所有父模式也不是置信模式,当当前结点的全置信度小于最小全置信度阈值时,当前结点的所有父模式可以不用遍历,对应于数据库树中以当前结点为根结点的所有子结点可以不用遍历;(3)占有度上界小于占有度阈值β的模式:由于占有度不具有反单调性、单调性、简洁性和可转换性等性质,不能直接用占有度阈值进行剪枝。因此,对于给定模式p,通过占有度上界可以得到以p为根结点的所有子结点的占有度上界值,如果当前结点的占有度上界值小于占有度阈值,那么以当前结点为根结点的所有子结点可以不用遍历;(4)胜任值上界小于胜任模式堆中最小的胜任值的模式:由于挖掘的目标是最终找出满足预设胜任条件的频繁模式中胜任值最大的前k个模式,所以对于当前满足预设胜任条件的频繁模式p,如果以p为根结点的所有子结点的胜任值上界小于当前已经保存在胜任模式堆中最小的胜任值,那么以当前结点p为根结点的所有子结点可以不用遍历。上述的胜任模式堆是在按顺序遍历数据库树,并在遍历过程中根据不同的剪枝条件剪去不必要搜索的分支的过程中形成的,该过程要保持一个到当前遍历结点为止,且用于记录胜任值最大的前k个满足预设胜任条件的频繁模式的最小堆,每当产生一个比堆顶结点的胜任值大的满足预设胜任条件的频繁模式时,更新此堆,即交换堆顶结点和当前满足预设胜任条件的频繁模式,直至遍历至最后一个结点终止。本实施例中还给出了一种占有度上界和胜任值上界的估算方法,首先给出上界的一个概述,接着给出了占有度上界和胜任值上界估算公式的推导,最后通过例子给出占有度上界和胜任值上界的估算方法。先对使用到的符号做以下定义:(1)上界概述:给定任何子树,让频繁模式p为该子树的根结点,dp为p的支持数据库。对任一dp中的事务t,p在t中的前缀(用pt表示)就是p在t中的出现序列,它的后缀序列(用st表示)就是pt在t后面的那些序列。表1表1中示出了一个支持数据库d,这个数据库共有9个不同项{a,b,c,d,e,f,g,h,i},5个事务|d|=5。表2表2是表1中以b为根结点的支持数据库,b在t1中的前缀序列和后缀序列分别为b和cdeg.。表2同样给出了b的所有前缀和后缀序列。为了计算频繁模式p的占有度上界需要如下定义:p的序列长度用tl表示,用来记录p的支持数据库中transactions的大小(t∈dp)。p的前缀序列长度用ptl表示,用来记录p中每个前缀序列pt的大小。p的后缀序列用stl表示,用来记录p中的每个后缀序列st的大小。ptl,stl和tl为三个向量,且它们之间有不等式ptl[i]+stl[i]≤tl[i]成立。给定一棵以p为根结点的子树,首先,假定已经知道了在以p为根结点的子树中任意频繁模式p′的频繁度为u,那么可以提出一个函数f(u,ptl,stl,tl)满足以下条件:φ(p′)≤f(u,ptl,stl,tl)(1)其中,计算f只需要u,ptl,stl,tl。函数f(u,ptl,stl,tl)不是随便设计的,它需要满足的条件是:随着u的增加f(u,ptl,stl,tl)单调减小。也就是满足下式:f(u+1,ptl,stl,tl)≤f(u,ptl,stl,tl)(2)有了以上两个假设,又因为模式p′是p的任一频繁父模式,所以u的取值范围为[min_freq,|dp|],其中min_freq是最小支持度计数阈值因此,以p为根结点的子树中的任一模式p′的占有度,满足:φ(p′)≤f(min_freq,ptl,stl,tl)(3)上式成立当且仅当f(u,ptl,stl,tl)满足不等式(1)和(2)。从上述说明可以看出,计算占有度上界时不需要知道模式p′的频繁度。因此,上式(3)给出了以p为根结点的子树中任一结点的占有度上界表示。同样,可以得到胜任值上界的表示:以p为根结点的子树中的任一频繁模式p′的胜任值上界可通过下式计算:接下来,本实施例将给出一个高效的f函数的实例,并说明它满足不等式(1)和(2)。同时,通过例子说明占有度上界和胜任值上界的计算。f(u,ptl,stl,tl)函数的一个实例定义:其中,li是tl/ptl/stl中任一p的支持序列对应的下标。就是从p的所有支持序列中选出u个序列来最大化函数m。可以看出,f(u,ptl,stl,tl)的实质是从p的支持数据库中选出占有度最大的前u个,并求其平均值。下面将说明f(u,ptl,stl,tl)的定义满足不等式(1)和(2)。对于以p为子树的任一尸,如果它的支持度计数为u,那么p′的占有度满足:φ(p′)≤f(u,ptl,stl,tl)考虑p′的占有度定义:其中,lt是向量tl/ptl/stl中序列t的对应下标。不等式(8)成立是由于|p′|-|p|≤tl[lt]。不等式(9)成立是由于根据由频繁模式的反单调性可得f(u,ptl,stl,tl)的上述定义满足:f(u+1,ptl,stl,tl)≤f(u,ptl,stl,tl)(10)假定则上式中(14)成立是因为au≥au+1≥0,所以不等式(9)成立,即f(u,ptl,stl,tl)随u的增长而单调递减。有了上述两个性质,可以很容易的直接验证f(u,ptl,stl,tl)满足(3)和(4)。根据上面的公式,下面给出计算任一子树占有度上界的实例:表3表3是以b为根结点的占有度上界的计算信息,子树中任一结点p′(假定min_freq=2)的占有度上界计算步骤如下:(1)为了得到p′在每个子序列中的占有度,可以用p′的后缀序列的长度作为扩展后缀长度。比如,p′在序列t1中的最大占有度为(1+4)/6。通过这种方式可以得到p′在每个事务上的最大占有度(如表3第5列所示)。(2)因为p′的支持度计数为2,所以要从5个事务中选出占有度最大的两个事务中产生最终的占有度上界。在这个例子中,可以选择事务t1和t5,通过求平均值最终得到上界值。即,就是说在这棵子树下的所有频繁模式(包括b、bc以及be),它们的占有度都要比0.82小。基于上述过程,再给出基于f(u,ptl,stl,tl)的胜任值上界的计算流程,具体而言,由于已经得式p为根结点的子树的占有度上界计算公式:那么,基于f(u,ptl,stl,tl)函数的胜任值上界计算过程就是在[min_freq,|dp|]上找到使式(3)成立。综上,本领域技术人员可以根据上述过程,计算出占有度上界和胜任值上界,方便对数据库树的剪枝操作,以提高整个算法的效率。进一步地,本实施例中给出胜任值计算公式和预设胜任条件中各个阈值和参数的设置要求。由于不同事务数据集在数据规模、稀疏程度、全集项数、事务包含最大项数、项标记值大小等很多方面都存在较大差异。因此,针对不同的事务数据集,应该设置不同的默认参数。这些默认参数主要包括:支持度阈值(min_sup)、占有度阈值(min_occu)、全置信度阈值(min_allconf)以及占有度比例系数和全置信度比例系数。在实际执行过程中,通过预设、判断剪枝结点数及约束前后关于该约束的平均值差异、迭代更新阈值这三个步骤的迭代实现默认参数的设置。具体地,首先预设其中一个阈值,然后通过输出在该阈值下剪掉的结点数及剪枝前后该约束的平均值情况来调整该约束阈值,经过不断地迭代最终达到比较合适的值,这样保证了每种约束条件都会剪掉一些结点,并使扩展结点数保持在合适范围内。最后,占有度比例系数和全置信度比例系数的设置原则是使支持度、占有度和全置信度保持在同一数量级,这样避免了由于比例系数差异可能导致的因某个兴趣度量值太小而使其对整个模式的胜任值的影响被忽略的问题。根据上述说明,本领域技术人员能够根据实际情况设置合适的支持度阈值(min_sup)、占有度阈值(min_occu)、全置信度阈值(min_allconf)以及占有度比例系数和全置信度比例系数,在此不再赘述。步骤103中,将上述步骤102得到的挖掘结果,即得到的至少一个满足预设胜任条件的频繁模式,按照各个满足预设胜任条件的频繁模式的胜任值从大到小的顺序,将前k个满足预设胜任条件的频繁模式输出即可。需要说明的是,k的具体数值依据用户的需求来定,若用户想同时得到可供参考比较的多个挖掘结果,则可以将k的数值设置的相应大一些;若用户不想对挖掘结果进行比较,只想得到一个最佳的挖掘结果,则使k=1即可。需要说明的是,对于上述方法的实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。下面将结合具体的例子对上述过程进行详细说明。参照图2所示,图2示出了根据prefixspan算法基于待分析的事务数据集生成的数据库树,数据库树中每个结点对应着一个频繁模式的前缀投影数据库,该前缀投影数据库包含三部分,分别为支持序列tid、前缀p在其支持序列上的前缀序列ps以及p在其支持序列后面出现的后缀序列ss。以图中bc的投影数据库为例,bc的前缀和后缀分别为bc和deg。通过第一次扫描,可以得到长度为1的频繁模式(假定minfreq=2时)a/b/c/e,其中,每个频繁模式都可以作为一个前缀,然后构造相应的投影数据库。接着递归考虑这些投影数据库,直到投影数据库中没有频繁项的出现。例如,以图2为例,由于项c和e频繁出现在b-投影数据库中,所以该投影数据库可以被进一步扩展成bc-和be-投影数据库。由于再没有任何频繁项出现在bc-投影数据库中,所以结点bc就停止增长。遍历这棵数据库树就可以找到所有的频繁模式。在遍历过程中对数据库树进行剪枝时,以图2中b结点为根结点的子树为例。当以深度优先遍历数据库树时,搜索到结点b时,可以估算这棵子树中(包含结点b\bc\be)所有结点关于胜任值的一个上界值为2.47。而之前的频繁模式abc具有最大的胜任值3.1。当胜任模式堆的k值为1时,可见以b为根结点的子树的胜任值上界小于abc的胜任值。因此,这棵以b为根结点的子树应当被剪掉,图2中的虚线就是一条剪枝线。在这个例子中,如果仅仅利用支持度的反单调性,算法将要创建12个投影数据库,而综合各种预设剪枝条件后只需创建4个投影数据库。因此,利用占有度、全置信度和胜任值上界进行剪枝可以极大压缩搜索空间。具体地,基于图2给出的数据库树和不同的预设剪枝条件,下列算法给出了用队列实现的广度优先搜索的频繁模式挖掘算法,数据库树中每个结点都对应一个模式,当算法搜索到当前结点curnode(队头结点)时,首先,使用二分查找算法找到curnode对应模式中最后一项在全项集(数据库树中不同项标记值按递增顺序的序列)中的下标位置,以便扩展得到curnode的子结点(父模式)。然后,从最后一项下标的下一项开始至全项集最后一项,依次做如下剪枝操作:(1)如果当前要添加到curnode对应模式末尾的项是频繁的,那么将其添加到curnode末尾产生新频繁模式。反之,检验下一个项。(2)计算新产生的频繁模式的支持数据库和支持度,并用支持度阈值剪枝;计算全置信度,用全置信度阈值剪枝;计算占有度上界,用占有度阈值剪枝,计算占有度和胜任值上界,用胜任模式堆(top-k堆)中第k大频繁模式的胜任值剪枝,将未被剪枝条件剪掉的频繁模式加入队尾等待扩展,同时,如果产生的新频繁模式的胜任值更大,则更新胜任模式堆(top-k堆)。反之,如果该频繁模式被某一个剪枝条件剪掉了,此结点将不会再继续扩展。当检查完全项集中最后一项后,curnode结点的扩展结束,将其从队头删除,循环此过程,直至队列为空。注意,开始时在空队列中加入了长度为0的空模式结点。遍历结束后,将胜任模式堆进行一次堆排序,并按胜任值从大到小递减的顺序输出前k个满足预设胜任条件的频繁模式,整个挖掘方法结束。本发明实施例中还给出了一个将上述挖掘方法应用在旅游路线推荐这一实际场景中的实例,以进一步对上述挖掘方法进行详细说明。以下是某个旅游公司关于旅游餐包的调查记录,通常一个旅游餐包由各个著名旅游城市组成,如果把每个城市看成一个项的话,那么一个用户浏览选择的旅游餐包就可以看作一个事务,这样所有的消费记录就形成了一个事务数据库,挖掘任务就是根据客户浏览特点推荐一条路线给用户。在旅游管理系统中,由于数据库d中存在大量的数据,故在这里只给出部分数据,如下表4和表5所示。表4表5其中,表4中示出了旅游目的地,表5示出了旅游网站对用户兴趣地的调查结果。由于所推荐的旅游路线的各个景点城市之间存在正相关性,为保证一个城市的推荐有利于另一个城市的选择,要求所挖掘的频繁项集之间应具备有序性。根据数据有序性特点,首先利用prefixspan算法产生数据库树,根据prefixspan算法产生的数据库树如图3所示,再以支持度、全置信度、占有度进行频繁模式剪枝,同时保持一个到当前遍历结点为止并用于记录胜任模式堆的最小堆,每当产生一个比堆顶结点胜任值大的满足预设胜任条件的频繁模式时,更新此堆,即交换堆顶结点和当前满足预设胜任条件的频繁模式,直至遍历至最后一个结点终止。最后,将胜任模式堆进行一次堆排序,并按胜任值从大到小递减的顺序输出前k个满足预设胜任条件的频繁模式。在上述应用场景中,使用的事务数据集traveling由7个事务组成,事务数据集的详细信息见下表6:表6数据集事务项数事务平均长度最大长度traveling72234该事务数据集的各个默认参数设置结果见下表7:表7数据集min_supmin_occumin_allconfoccu_ratioallconf_ratiok210.6331在具体剪枝时,各个过程具体如下:(1)剪掉支持度小于支持度阈值2的频繁模式:根据支持度所具有的反单调性,当当前结点的支持度小于最小支持度阈值时,当前结点的所有子结点可以不用遍历,对应于数据库树中以当前结点为根结点的所有子结点可以不用遍历,得到图3中所示的遍历结果;(2)剪掉全置信度小于全置信度阈值0.6的频繁模式:根据全置信度的反单调性,当当前结点的全置信度小于全置信度阈值时,当前结点的所有父模式可以不用遍历,对应于数据库树中以当前结点为根结点的所有子结点可以不用遍历,因此将图3中右侧虚线的右侧部分剪去;(3)占有度上界小于占有度阈值1的频繁模式:占有度不具有反单调性、单调性、简洁性和可转换性等性质,不能直接用占有度阈值进行剪枝,通过占有度上界、可以得到以p为根结点的所有子结点的占有度上界值,如果此上界值小于占有度阈值,那么,以当前结点为根结点的所有子结点可以不用遍历,因此将图3中左侧虚线的右侧部分剪去;(4)为保持支持度、置信度、占有度对挖掘结果的同等影响性,将占有度比例系数和全置信度比例系数分别设为occu_ratio=2、allconf_ratio=3,当胜任模式堆的k值设置为1时,可见以i2为根结点的子树的胜任值上界小于i1、i2、i4的胜任值,因此将图3中以i2为根结点的子树剪去。剪枝结果的对比如下表8所示:表8上表8表示引入全置信度约束前后经过剪枝后产生的频繁项集比较,其中y表示引入全置信度约束,n表示未引入全置信度约束,可见引入全置信度约束后的剪枝结果更加具有代表性和简洁性。从上表8中可以看出,在引入新的约束条件后,当用户选择北京时,电子商务系统应推荐的剪枝后的结果就是两个满足预设胜任条件的频繁模式代表的北京-上海-桂林或者北京-上海-桂林-重庆这两条路线。针对上述得到的剪枝结果推荐的两个满足预设胜任条件的频繁模式,分别计算其胜任值,即支持度、占有度、全置信度的加权平均值,然后将胜任值最大的前k(此时k=1)个模式输出即可,该模式代表的路线即是向该用户推荐的的最佳路线。在保证推荐路线的有序性的基础上,此路线可提高用户的选择可能性,促进旅游公司关联产品的销售。在设置全置信度约束时,事务数据集的挖掘结果中由于保证了项之间的相关性,去掉了负相关项,所以挖掘结果更加具有代表性和简洁性。在占有度约束的基础上引入了全置信度约束以保证模式的代表性和简洁性,并结合支持度定义了一个新的挖掘模式,找到满足预设胜任条件的频繁模式中胜任值(支持度、占有度、全置信度的加权平均)最大的前k个模式,使得旅游路线推荐具有完整性、可信性并避免其相似性。基于同一发明构思,本发明实施例还公开了一种频繁模式挖掘装置,参照图4所示,所述装置包括:数据库树生成单元41,用于根据prefixspan算法,基于待分析的事务数据集生成事务数据集的数据库树,数据库树包括至少一个用于指示频繁模式的结点;频繁模式挖掘单元42,用于遍历数据库树中所有结点,并在遍历过程中根据预设剪枝条件按顺序对数据库树进行剪枝,从至少一个频繁模式中挖掘出至少一个满足预设胜任条件的频繁模式;模式输出单元43,用于按照各满足预设胜任条件的频繁模式的胜任值从大到小的顺序,输出前k个满足预设胜任条件的频繁模式。优选地,频繁模式挖掘单元42具体用于:在遍历过程中按顺序依次剪掉支持度小于支持度阈值的频繁模式、全置信度小于全置信度阈值的频繁模式、占有度上界小于占有度阈值的频繁模式以及胜任值上界小于胜任模式堆中最小的胜任值的频繁模式。优选地,胜任值根据频繁模式的支持度、占有度和全置信度计算得到,胜任值用于指示所述频繁模式的优劣程度。优选地,频繁模式的胜任值通过下列公式计算得到:其中,σ(p)表示频繁模式的支持度,φ(p)表示频繁模式的占有度,表示频繁模式的全置信度,λ表示频繁模式的占有度比例系数,μ表示频繁模式的全置信度比例系数。优选地,预设胜任条件为:其中,min_sup表示频繁模式的支持度阈值,min_occu表示频繁模式的占有度阈值,min_allconf表示频繁模式的全置信度阈值。需要说明的是,本发明实施例提供的频繁模式挖掘装置与前述实施例所述的频繁模式挖掘方法属于相同的技术构思,其具体实施过程可参照前述实施例中对方法步骤的说明,在此不再赘述。应当理解,以上一种频繁模式挖掘装置包括的单元仅为根据该装置实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的一种频繁模式挖掘装置所实现的功能与上述实施例提供的一种频繁模式挖掘方法一一对应,对于该装置所实现的更为详细的处理流程,在上述方法实施例中已做详细描述,此处不再详细描述。基于同一发明构思,本发明实施例还提供一种计算机可读存储介质,包含计算机执行指令,计算机执行指令用于使频繁模式挖掘装置执行上述实施例中所述的频繁模式挖掘方法。基于同一发明构思,本发明实施例还提供一种设备,包括处理器和存储器,其中存储器内存储有执行指令,处理器读取存储器内的执行指令用于执行上述实施例中所述的频繁模式挖掘方法。综上,本发明实施例提供的一种频繁模式挖掘方法及装置,通过在频繁模式挖掘中加入约束条件,在支持度约束的基础上引入了占有度约束和全置信度约束,提出将支持度、占有度、全置信度线性组合为胜任值来综合评价模式的优劣,从而以新的兴趣度量或约束来指导挖掘过程,并据此在挖掘过程中进行了对搜索空间的剪枝操作,不仅能够聚焦在用户真正感兴趣的模式上,而且能够压缩搜索空间,提高挖掘效率。本领域技术人员可以理解,实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤,而前述的存储介质包括rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1