当前位置: 首页 > 专利查询>复旦大学专利>正文

一种根据阈值快速筛选重要区间的方法技术

技术编号:15690988 阅读:83 留言:0更新日期:2017-06-24 03:49
本发明专利技术属于关系数据库技术领域,具体一种根据阈值快速筛选重要区间的方法。本发明专利技术方法包括:给定数据集

A method of rapidly selecting important intervals based on threshold

The invention belongs to the technical field of relational database, in particular to a method for rapidly selecting important intervals according to a threshold value. The method of the invention comprises: a given data set;

【技术实现步骤摘要】
一种根据阈值快速筛选重要区间的方法
本专利技术属于关系数据库
,具体涉及一种在多维数据集根据阈值快速筛选重要区间的方法。
技术介绍
数据探索是近年来研究较多的领域。当用户对于数据内容缺乏了解时,需要有一个不断尝试并修改查询的过程,才能最终得到想要的结果,数据探索即在这一过程中对用户进行引导,以减小所需的时间与精力开销。传统的数据探索方式都要求冗长的交互过程,但在服务器端本身已经具有所有数据的情况下,可以帮助用户完成大量粗略的工作,给用户提供一个较优的探索起点,但这一操作需要以增加计算资源为代价。多维数据集的容量一般较大,为了节约计算资源,需要更加高效的算法。尤其是对于重要区间的筛选,在查询中十分常见频繁,对其进行优化能够有效提高整个流程的执行效率。
技术实现思路
本专利技术的目的是提出一种从多维数据集中快速筛选出符合给定阈值的重要区间的方法,以协助整体上的数据探索工作。本专利技术提出的根据阈值快速筛选重要区间的方法,包括:给定数据集D中的数据分布于维度A,对于A上任一区间[l,r],可以得到D在其上的相关程度score([l,r])。要解决的问题可以严格描述如下:给定阈值k,找出所有的区间[l,r]满足如下条件:score([l,r])≥k∧score([l-1,r])<k∧score([l,r+1])<k计算方法如下:对于每一个右边界r,计算出符合条件的左边界LBr,以确保score([LBr,r])≥k且score([LBr-1,r])<k。根据上一步计算得到的数组LB,将右边界r从大到小遍历,如果对应的左边界LBr比之前输出过的所有值都小,就将[LBr,r]作为结果输出。这里,数组LB用于根据右边界直接定位到满足条件的相应左边界,从而根据边界确定重要区间的位置,使得整体计算中的这一子操作可以直接查表得到,以达到较优的时间复杂度。具体说来,图5中每一行左边界的求解就是通过数组LB得到。对于数组LB的求解,一种方案如下:(2.1)将右边界r从小到大遍历来依次计算相应的LBr数值;(2.2)对于当前已经访问过的数据,将其位置和值记录下来成为<p,v>的格式,说明当前到达左边界p且超过阈值所需要的最小的数值为v,对于LBr的计算即转化为传统的二分查找问题,从而在O(logn)时间内完成;(2.3)于步骤(2.2)中的<p,v>的数组,应当确保其单调性使得二分查找的条件成立,即对于相应的<pi,vi>,<pi+1,vi+1>应当满足:(pi<pi+1)∧(vi<vi+1)(2.4)每当右边界r改变时<p,v>数组也作相应更新;作为线段树的一种退化情形,为所有数组中的值维护一个基底,对全部值的同时加减操作在基底进行,即可在O(1)时间内完成更新。当仅改变阈值k而不改变数据集D时,计算LB的更快速方法如下:(3.1)在预处理阶段,计算让区间[l,r]能够被选出的最大阈值MT([l,r]),将其作为二维数组记录下来;(3.2)将数组MT中必定不会停留的地点去掉,以维持单调性,在该处加入指向左边第一个停留点的指针以防止重复经过。满足如下性质的区间[l,r]称为不停留点:MT([l,r])<MT([l-1,r])(3.3)每次用户给出一个阈值k时,将右边界r从大到小遍历,同时在数组MT中从上次输出的左边界l′开始寻找最靠左的满足MT([l,r])≥k的区间[l,r],若l<l′就将[l,r]输出,由于左右边界都只会不断减小,其运算总时间为O(n)。附图说明图1为前一种数组LB计算的样例数组。图2为原始数组不具备单调性的演示。图3为修改后的位置和值记录。图4为后一种计算的样例数组。图5为给出阈值后一次详细的计算过程。具体实施方式本专利技术所描述的方法用于快速筛选出重要区间,下面将通过两个例子详细描述本专利技术所述方法的具体实施方式。对于前一种数组LB的计算,图1给出一个数组作为例子,其中选取0为阈值。图2展示了图1原始的数组不具备单调性,因此无法直接进行二分。经过修改后的位置和值记录由图3可见,部分记录被划去以满足单调性进行后续操作。对于后一种计算方式,图4给出一个数组作为例子。对于图4中的数组,图5展示了阈值为4.45时的计算过程,左右边界均由右向左进行移动。此时最终得到的区间即为[0,1],[1,4]。本文档来自技高网...
一种根据阈值快速筛选重要区间的方法

【技术保护点】
一种根据阈值快速筛选重要区间的方法,其特征在于,具体步骤如下:(1.1)给定数据集

【技术特征摘要】
1.一种根据阈值快速筛选重要区间的方法,其特征在于,具体步骤如下:(1.1)给定数据集D中的数据分布于维度A,对于A上任一区间,得到D在其上的相关程度,根据阈值k筛选区间即为找出所有且无法再扩展的区间;(1.2)首先计算数组LB,对于每一个右边界r,确保且;(1.3)根据步骤(1.2)中计算得到的,将右边界从大到小遍历,如果对应的左边界比之前输出过的所有值都小,就将作为结果输出。2.根据权利要求1所述的方法,其特征在于,步骤(1.2)中所述计算LB的一种方法如下:(2.1)将右边界r从小到大遍历来依次计算相应的数值;(2.2)对于当前已经访问过的数据,将其位置和值记录下来成为的格式,说明当前到达左边界且超过阈值所需要的最小的数值为,对于的计算即转化为传统的二分查找问题,从而在时间内完成;(2.3)于步骤(2.2)中的的数组...

【专利技术属性】
技术研发人员:马会心杨智慧何震瀛王晓阳
申请(专利权)人:复旦大学
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1