一种近似的海量地址数据最近邻查询方法

文档序号:6547283阅读:984来源:国知局
一种近似的海量地址数据最近邻查询方法
【专利摘要】本发明一种近似的海量地址数据最近邻查询方法,属于数据挖掘领域,本发明在人们并不需要精确的查询结果,仅需要满足一定精度要求的近似查询结果时,适当损失查询精度,以一种更快速的反应速度对用户的查询做出应答;同时若用户希望得到一个非近似的、精确的查询结果集时,本方法依然可以对此类要求做出应答。
【专利说明】一种近似的海量地址数据最近邻查询方法
【技术领域】
[0001]本发明属于数据挖掘领域,具体涉及一种近似的海量地址数据最近邻查询方法。【背景技术】
[0002]如今的我们正生活于一个全球数据爆炸增长的时代。IDC研究表明,从2006年到2010年,全球信息总量增长6倍以上,从161EB增长到988EB,仅仅美国国家航空航天安全局的一个地球预测数据库中存储的数据量就已经超过IOkiMB15未来全球数据的爆炸性增长,一方面源于物联网的发展,物联网技术使用数以万计的传感器,能够采集到惊人的数据量。另一方面则是源于移动设备(智能手机、平板电脑)以及社交网络的普及。用户每天通过各种移动终端设备分享各种图片和视频内容,同时,还不断的通过社交网络分享和传播各种信息。另外,机器日志、车载GPS和零售交易数据等,这些都不断促使“数据之山越来越高”。数据的爆炸性增长同时造成了一定程度的信息危机,如何在浩如烟海的大数据中快速有效的找到有价值的信息已成为一个愈受关注的问题。
[0003]同时基于位置的服务在社会生活中扮演的角色也越来越重要,它为用户提供需要的位置相关信息的服务,因此基于空间数据的最近邻查询算法(KNN)的应用也非常广泛,其主要应用于智能导航、电子商务、交通控制和空间聚类等领域。一个典型案例就是在纽约机场附近通过GPS定位服务寻找附近几个最近的餐馆。
[0004]KNN方法思路非常简单直观,易于实现;不需要产生额外的数据来描述规则,它的规则本身就是数据(样本);它允许训练样本库存在噪音。但同时KNN也存在处理过程中相似度计算量过大、中间结果占据存储空间等问题。可以说大数据领域对最近邻查询提出新的要求,因此需要针对其缺点对KNN分类算法进行改进。到目前为止绝大多数解决方法都是从减少样本量方面考虑的:当训练样本集中样本数量较大时,为了减小计算开销,可以对训练样本集进行编辑处理,即从原始训练样本集中选择最优的参考子集进行K最近邻寻找,从而减少训练样本的存储量和提高计算效率。但是在浓缩训练样本时可能存在损失样本数据信息的情况,同时又很难去评价浓缩后样本的结果与真实结果两者间的近似度。

【发明内容】

[0005]针对现有技术的缺点,本发明提出一种近似的海量地址数据最近邻查询方法,以达到实现用户自行设定希望查询值与真实值之间的误差、在海量数据环境中快速数据查询的目的。
[0006]一种近似的海量地址数据最近邻查询方法,包括以下步骤:
[0007]步骤1、采用GPRS系统查询用户所在位置周围的所有目标地址;
[0008]步骤2、根据实际需求设定垂直距离和水平距离的权值;
[0009]步骤3、计算加权值,即将垂直距离乘以其权值获得的结果与水平距离乘以其权值获得的结果相加;
[0010]步骤4、根据实际需求设置查询条件,包括查询目标地址个数、查询误差和确定查询算法;
[0011]步骤5、判断设置的查询条件是否满足约束条件,具体为:
[0012]约束1:查询目标地址个数小于或等于GPRS系统中查询的目标地址总数;
[0013]约束2:查询误差大于或等于零;
[0014]约束3:查询算法为近似KNN算法;
[0015]若同时满足约束I?约束3,则执行步骤6 ;
[0016]若同时满足约束I和约束2,则执行步骤12 ;
[0017]若同时不满足约束I?约束3,则返回执行步骤4进行重新设置;
[0018]步骤6、将GPRS系统中记录的所有目标地址按照记录顺序进行分组,每组的地址个数为查询目标地址个数;
[0019]步骤7、判断分组后的每组实际地址个数是否均大于设置的查询目标地址个数,若是,则执行步骤8,否则,从未满足条件的组的第一条地址记录起向前查找地址,作为该组的地址进行补充,直至该组地址个数达到设置的查询目标地址个数,执行步骤8 ;
[0020]步骤8、随机选取每组中一个地址作为代表数据,并在每组中选择另一个地址数据,计算该地址数据与代表数据之间的加权值差值;
[0021]步骤9、判断上述加权值差值的绝对值是否超过用户设定的四分之一倍的查询误差,若超过,则返回执行步骤4重新设置查询误差,否则,继续选择每组中的其他地址数据进行计算判断,直至完成每组中的所有地址数据的比较判断,执行步骤10 ;
[0022]步骤10、采用最近邻查询算法根据每组中的代表数据进行计算,获得所有代表数据中一个距离最近的地址;
[0023]步骤11、将距离最近的代表数据所在的分组中所有地址输出显示,完成用户的地址查询;
[0024]步骤12、直接采用最近邻查询算法对GPRS系统所查询的所有目标地址进行计算,获得距离用户最近的地址。
[0025]步骤10所述的采用最近邻查询算法根据每组中的代表数据进行计算,即计算每个代表数据与用户所在位置之间的加权值,选择加权值最小的地址作为距离用户最近的地址。
[0026]本发明优点:
[0027]本发明一种近似的海量地址数据最近邻查询方法,在人们并不需要精确的查询结果,仅需要满足一定精度要求的近似查询结果时,适当损失查询精度,以一种更快速的反应速度对用户的查询做出应答;同时若用户希望得到一个非近似的、精确的查询结果集时,本方法依然可以对此类要求做出应答。
【专利附图】

【附图说明】
[0028]图1为本发明一种实施例的近似的海量地址数据最近邻查询方法流程图;
[0029]图2为本发明一种实施例的数据集空间分布示意图;
[0030]图3为本发明一种实施例的划分空间数据集示意图;
[0031]图4为本发明一种实施例的空间数据集中划分空间选择代表记录示意图;
[0032]图5为本发明一种实施例的执行代表记录选取过程产生的误差的计算示意图;[0033]图6为本发明一种实施例的执行近似查询输出结果误差计算示意图。
【具体实施方式】
[0034]下面结合附图对本发明一种实施例做进一步说明。
[0035]本发明实施例以某商业街空间数据作为研究对象,该空间数据为具有两个属性值的海量数据,包括长度和高度,对应分别用Height和Length表示。其中长度指水平距离,高度(由地面到目标地址的高度)指垂直距离。
[0036]一种近似的海量地址数据最近邻查询方法,方法流程图如图1所示,包括以下步骤:
[0037]步骤1、采用GPRS系统查询用户所在位置周围的所有目标地址;
[0038]本发明实施例中,对海量数据中的地址信息进行鉴别,判断是否每个需要被查询的信息均满足:每个地址信息都为数值型数据;
[0039]例如,一个目标地址距离用户的距离长度为“很远”或者“很近”等非数值型属性值,则不符合约束的;一个目标地址高度为A座二层这类数据或者是被编码成的数值串,并不具有可比较性以及可计算性。而在本实施例中,对于空间数据而言,每个属性都需要经过计算得出最后的评价指数并比较。
[0040]若查询的地址信息是非数值型数据,则将其转换为数值型数据;例如:A座二层。可以根据建筑规范或者实际建筑建造得出建筑的层高,比如《住宅设计规范》规定:普通住宅层高宜为2.80米,那么二层的高度就是5.60米。
[0041]例如,对于A座二层这个属性值,可以用它距离源点的高度和长度将原本的非数值型属性值转换为数值型属性值。
[0042]表1
【权利要求】
1.一种近似的海量地址数据最近邻查询方法,其特征在于,包括以下步骤: 步骤1、通过GPRS系统查询获得用户所在位置周围的所有目标地址; 步骤2、根据实际需求设定垂直距离和水平距离的权值; 步骤3、计算加权值,即将垂直距离乘以其权值获得的结果与水平距离乘以其权值获得的结果相加; 步骤4、根据实际需求设置查询条件,包括查询目标地址个数、查询误差和确定查询算法; 步骤5、判断设置的查询条件是否满足约束条件,具体为: 约束1:查询目标地址个数小于或等于GPRS系统中查询的目标地址总数; 约束2:查询误差大于或等于零; 约束3:查询算法为近似KNN算法; 若同时满足约束I?约束3,则执行步骤6 ; 若同时满足约束I和约束2,则执行步骤12 ; 若同时不满足约束I?约束3,则返回执行步骤4进行重新设置; 步骤6、将GPRS系统中记录的所有目标地址按照记录顺序进行分组,每组的地址个数为查询目标地址个数; 步骤7、判断分组后的每组实际地址个数是否均大于设置的查询目标地址个数,若是,则执行步骤8,否则,从未满足条件的组的第一条地址记录起向前查找地址,作为该组的地址进行补充,直至该组地址个数达到设置的查询目标地址个数,执行步骤8 ; 步骤8、随机选取每组中一个地址作为代表数据,并在每组中选择另一个地址数据,计算该地址数据与代表数据之间的加权值差值; 步骤9、判断上述加权值差值的绝对值是否超过用户设定的四分之一倍的查询误差,若超过,则返回执行步骤4重新设置查询误差,否则,继续选择每组中的其他地址数据进行计算判断,直至完成每组中的所有地址数据的比较判断,执行步骤10 ; 步骤10、采用最近邻查询算法根据每组中的代表数据进行计算,获得所有代表数据中一个距离最近的地址; 步骤11、将距离最近的代表数据所在的分组中所有地址输出显示,完成用户的地址查询; 步骤12、直接采用最近邻查询算法对GPRS系统所查询的所有目标地址进行计算,获得距离用户最近的地址。
2.根据权利要求1所述的近似的海量地址数据最近邻查询方法,其特征在于,步骤10所述的采用最近邻查询算法根据每组中的代表数据进行计算,即计算每个代表数据与用户所在位置之间的加权值,选择加权值最小的地址作为距离用户最近的地址。
【文档编号】G06F17/30GK103995871SQ201410217378
【公开日】2014年8月20日 申请日期:2014年5月22日 优先权日:2014年5月22日
【发明者】宋杰, 徐澍, 李甜甜, 朱志良 申请人:东北大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1