CN109636020A - 一种预测目的地地址的方法及系统 - Google Patents
一种预测目的地地址的方法及系统 Download PDFInfo
- Publication number
- CN109636020A CN109636020A CN201811454961.4A CN201811454961A CN109636020A CN 109636020 A CN109636020 A CN 109636020A CN 201811454961 A CN201811454961 A CN 201811454961A CN 109636020 A CN109636020 A CN 109636020A
- Authority
- CN
- China
- Prior art keywords
- address
- destination
- candidate
- coordinate data
- coordinate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
Abstract
本发明公开一种预测目的地地址的方法及系统。该方法包括:由分布式并行计算框架下的不同终端设备获取被拆分后的目的地地址候选坐标数据;将所述获取的目的地地址候选坐标数据采用密度聚类算法并行进行聚类运算,分别得到运算后的目的地地址坐标数据;将所述分别得到的运算后的目的地地址坐标数据进行汇总聚合,将汇总聚合后的目的地地址作为预测地址。本发明提供的方案,能更准确和快速地预测海量用户的目的地地址。
Description
技术领域
本发明涉及车联网技术领域,具体涉及一种预测目的地地址的方法及系统。
背景技术
随着汽车技术和车联网技术的不断发展进步,车联网大数据的应用逐渐广泛。例如,可以根据大数据对车辆用户的家庭地址或公司地址等目的地地址进行预测。
目前对车辆用户的家庭地址或公司地址进行预测的方法,大部分是在单台PC环境下,基于用户常去地址的GPS(Global Positioning System,全球定位系统)坐标,使用K-Means(K均值)或KNN(K-NearestNeighbor,K最近邻)等算法进行聚类,然后将聚类后的结果作为用户可能的家庭地址或公司地址。其中,K-Means算法是一种典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大;而KNN算法的核心思想是如果一个样本在特征空间中的K个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。
但是,现有技术的目的地地址预测方法大多是针对少量用户的,例如通常是几千个以下用户,并且运行环境为单台PC,使用的聚类算法时间复杂度也较高,随数据的增长所需的运行时长也成倍增长,从而导致对百万及以上的用户数量就无能为力,另外还有预测算法耗时较长、预测结果准确度不高等缺点。
发明内容
有鉴于此,本发明的目的在于提出一种预测目的地地址的方法及系统,能更准确和快速地预测海量用户的目的地地址。
根据本发明的一个方面,提供一种预测目的地地址的方法,包括:
由分布式并行计算框架下的不同终端设备获取被拆分后的目的地地址候选坐标数据;
将所述获取的目的地地址候选坐标数据采用密度聚类算法并行进行聚类运算,分别得到运算后的目的地地址坐标数据;
将所述分别得到的运算后的目的地地址坐标数据进行汇总聚合,将汇总聚合后的目的地地址作为预测地址。
优选的,所述由分布式并行计算框架下的不同终端设备获取被拆分后的目的地地址候选坐标数据之前,还包括:
将用户设定时间段内的行程记录数据进行预处理,得到目的地地址候选坐标数据。
优选的,所述将用户设定时间段内的行程记录数据进行预处理,得到目的地地址候选坐标数据,包括:
将用户设定时间段内的行程记录数据中的目的地地址坐标,聚合到候选坐标表的同一行作为目的地地址候选坐标数据。
优选的,所述将用户设定时间段内的行程记录数据中的目的地地址坐标,聚合到候选坐标表的同一行作为目的地地址候选坐标数据,包括:
将用户设定时间段内的行程记录数据中,选取设定时间点内的第一次停车和最后一次停车的地址坐标数据,分别作为公司地址候选坐标数据及家庭地址候选坐标数据,将所述选取的公司地址候选坐标数据及家庭地址候选坐标数据分别聚合到候选坐标表的同一行。
优选的,所述将所述获取的目的地地址候选坐标数据采用密度聚类算法并行进行聚类运算,分别得到运算后的目的地地址坐标数据,包括:
遍历所述候选坐标表的每行目的地地址候选坐标数据;
采用密度聚类算法判断所述目的地地址候选坐标中的核心点;
在判断出的所述核心点中判断同一类别的核心点;
根据判断出的同一类别的核心点所包含点数的比较结果,确定目的地地址坐标数据。
优选的,所述采用密度聚类算法判断所述目的地地址候选坐标中的核心点,包括:
将每个目的地地址候选坐标作为点,若以其中一目的地地址候选坐标为圆心,在指定的扫描半径的圆周内包含的点的个数大于最小包含点数,则判断该目的地地址候选坐标为核心点。
优选的,所述扫描半径为800~1200米,所述最小包含点数为2~4个。
根据本发明的另一个方面,提供一种预测目的地地址的系统:
所述系统包括分布式并行计算框架下的不同终端设备;
其中至少两个以上终端设备,用于获取被拆分后的目的地地址候选坐标数据;将所述获取的目的地地址候选坐标数据采用密度聚类算法并行进行聚类运算,分别得到运算后的目的地地址坐标数据;
其中一终端设备,将所述至少两个以上终端设备分别得到的运算后的目的地地址坐标数据进行汇总聚合,将汇总聚合后的目的地地址作为预测地址。
优选的,所述系统还包括一终端设备,用于将用户设定时间段内的行程记录数据进行预处理,得到目的地地址候选坐标数据。
优选的,所述用于进行预处理的终端设备,是将用户设定时间段内的行程记录数据中的目的地地址坐标,聚合到候选坐标表的同一行作为目的地地址候选坐标数据。
优选的,所述至少两个以上终端设备,是遍历所述候选坐标表的每行目的地地址候选坐标数据;采用密度聚类算法判断所述目的地地址候选坐标中的核心点;在判断出的所述核心点中判断同一类别的核心点;根据判断出的同一类别的核心点所包含点数的比较结果,确定目的地地址坐标数据。
通过上述内容可以发现,本发明实施例所提供的技术方案,构建了分布式环境,采用分布式并行计算框架Spark,由分布式并行计算框架下的不同终端设备获取被拆分后的目的地地址候选坐标数据;将所述获取的目的地地址候选坐标数据采用密度聚类算法并行进行聚类运算,分别得到运算后的目的地地址坐标数据;最后将所述分别得到的运算后的目的地地址坐标数据进行汇总聚合,将汇总聚合后的目的地地址作为预测地址。因为本发明实施例改进了计算运行环境,摒弃了传统的单台PC计算,改为采用分布式并行计算,因此可以使得算法具备处理百万用户以上、TB级数据量等特性;因为本发明实施例方案运行在分布式并行计算环境Spark下,且并行度可在计算资源允许之下,随数据量的大小而相应的调整,因此为计算大用户量、海量数据提供便利;本发明实施例还改进了聚类算法,改为采用基于密度、低时间复杂度的聚类算法DBSCAN对地址坐标进行聚类,DBSCAN算法迭代每计算一次就减少一个点,下一次迭代需计算的点就少了,因此可以有效减少聚类的计算量及计算时间。所以,本发明实施例的技术方案,可以更精确及快速地预测用户可能的家庭地址或公司地址等目的地地址。
进一步的,本发明实施例中新设计了输入数据格式,将用户设定时间段内的行程记录数据中的目的地地址坐标,聚合到候选坐标表的同一行作为目的地地址候选坐标数据,使得算法能运行在分布式并行计算环境Spark下,且并行度可在计算资源允许之下,随数据量的大小而相应的调整。
进一步的,本发明实施例对聚类算法DBSCAN中的算法参数进行优化设置,设置所述扫描半径为800~1200米,最小包含点数为2~4个,使得更精确地预测用户可能的家庭地址或公司地址及提高运算程序的稳定性。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1是本发明实施例的一种预测目的地地址的方法的一示意性流程图;
图2是本发明实施例的一种预测目的地地址的方法的另一示意性流程图;
图3是本发明实施例方法中的聚类模型中的核心点模型的示意图;
图4是本发明实施例方法中的聚类模型中的同类别核心点模型的示意图;
图5是本发明实施例的流程应用示意图;
图6是本发明实施例一种预测目的地地址的系统的结构框架的一示意图;
图7是本发明实施例一种预测目的地地址的系统的结构框架的另一示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本发明提出一种预测目的地地址的方法,能更准确和快速地预测海量用户的目的地地址。
以下结合附图详细描述本发明实施例的技术方案。
图1是本发明实施例的一种预测目的地地址的方法的一示意性流程图。
参照图1,所述方法包括:
在步骤101中,由分布式并行计算框架下的不同终端设备获取被拆分后的目的地地址候选坐标数据。
在步骤102中,将所述获取的目的地地址候选坐标数据采用密度聚类算法并行进行聚类运算,分别得到运算后的目的地地址坐标数据。
该步骤可以包括:
遍历所述候选坐标表的每行目的地地址候选坐标数据;
采用密度聚类算法判断所述目的地地址候选坐标中的核心点;
在判断出的所述核心点中判断同一类别的核心点;
根据判断出的同一类别的核心点所包含点数的比较结果,确定目的地地址坐标数据。
在步骤103中,将所述分别得到的运算后的目的地地址坐标数据进行汇总聚合,将汇总聚合后的目的地地址作为预测地址。
需说明的是,在由分布式并行计算框架下的不同终端设备获取被拆分后的目的地地址候选坐标数据之前,还可以包括:将用户设定时间段内的行程记录数据进行预处理,得到目的地地址候选坐标数据,例如将用户设定时间段内的行程记录数据中的目的地地址坐标,聚合到候选坐标表的同一行作为目的地地址候选坐标数据。
通过该实施例可以发现,本发明实施例所提供的技术方案,构建了分布式环境,采用分布式并行计算框架Spark,由分布式并行计算框架下的不同终端设备获取被拆分后的目的地地址候选坐标数据;将所述获取的目的地地址候选坐标数据采用密度聚类算法并行进行聚类运算,分别得到运算后的目的地地址坐标数据;最后将所述分别得到的运算后的目的地地址坐标数据进行汇总聚合,将汇总聚合后的目的地地址作为预测地址。因为本发明实施例改进了计算运行环境,摒弃了传统的单台PC计算,改为采用分布式并行计算,因此可以使得算法具备处理百万用户以上、TB级数据量等特性;因为本发明实施例方案运行在分布式并行计算环境Spark下,且并行度可在计算资源允许之下,随数据量的大小而相应的调整,因此为计算大用户量、海量数据提供便利;本发明实施例还改进了聚类算法,改为采用基于密度、低时间复杂度的聚类算法DBSCAN对地址坐标进行聚类,DBSCAN算法迭代每计算一次就减少一个点,下一次迭代需计算的点就少了,因此可以有效减少聚类的计算量及计算时间。所以,本发明实施例的技术方案,可以更精确及快速地预测用户可能的家庭地址或公司地址等目的地地址。
图2是本发明实施例的一种预测目的地地址的方法的另一示意性流程图。图2相对图1更详细描述了本发明方案。
本发明实施例提出一种可以更准确和快速预测车辆用户可能的目的地地址例如可能的家庭地址或公司地址的方法。该方法运行在分布式环境下,基于用户的海量行程坐标数据例如GPS坐标数据,结合DBSCAN(Density-Based Spatial Clustering ofApplications with Noise,密度聚类算法)、Hadoop(分布式数据存储框架)、Spark(分布式并行计算框架),来预测海量用户的家庭地址或公司地址。需说明的是,本发明实施例以GPS坐标数据举例说明但不局限于此,也可以利用北斗导航坐标数据等其他类型的坐标数据。
本发明实施例改进了计算运行环境,摒弃了传统的单台PC计算,改为采用分布式并行计算,使得算法具备处理百万用户以上、TB级数据量等特性;本发明实施例新设计了输入数据格式,使得算法能运行在分布式并行计算环境Spark下,且并行度可在计算资源允许之下,随数据量的大小而相应的调整,为计算大用户量、海量数据提供便利;本发明实施例改进聚类算法,改为采用基于密度、低时间复杂度的聚类算法DBSCAN对过滤后的停车GPS坐标进行聚类,可以有效减少聚类的计算量及计算时间;本发明实施例对算法参数、并行度参数进行更合理设定,以更精确地预测用户可能的家庭地址或公司地址,及可以提高运算程序的稳定性。
本发明分布式并行计算框架下的不同终端设备以计算机设备为例说明但不局限于此,也可以是其他类型终端设备。
参照图2,所述方法包括:
在步骤201中,将用户设定时间段内的行程记录数据进行预处理,得到预处理后的目的地地址候选坐标数据。
该步骤中,可以将用户设定时间段内的行程记录数据进行过滤和聚合处理,得到过滤和聚合后的目的地地址候选坐标数据,例如得到家庭地址候选GPS坐标数据或公司地址候选GPS坐标数据。
该步骤属于本发明实施例的数据预处理部分。本发明实例可以将用户设定时间段内例如最近两个月的行程记录数据,聚合到候选坐标表的同一行,以便于后续进行并行处理。其中,行程记录数据可以包括但不限于以下内容:用户ID、行程代号以及对应的GPS坐标数据等,其中GPS坐标数据可以包含每秒的经度、纬度等。其中,可以截取设定时间点内例如每天6点至24点之间的第一次停车和最后一次停车的GPS坐标,分别作为公司地址候选GPS坐标及家庭地址候选GPS坐标。
需说明的是,上述是以两个月为例说明但不局限于此,也可以是三个月等,一般选择的时间段越长,越能规避一些特殊情况,准确度也就越高。另外,针对某些情况下第一次停车地址可能不是公司地址或最后一次停车地址可能不是家庭地址的情况,一般通过选取多天(例如两个月或三个月)的坐标数据,可以将这些特殊的情况规避。
上述聚合后的候选坐标表的格式可以如下表1所示:
用户ID | 家庭地址候选GPS坐标集 | 公司地址候选GPS坐标集 |
user1 | gps1_1,gps1_2,gps1_3,… | gps1_4,gps1_5,gps1_6,… |
user2 | gps2_1,gps2_2,gps2_3,… | gps2_4,gps2_5,gps2_6,… |
表1用户家庭及公司地址候选坐标表
表1中,家庭地址和公司地址在一行中分开存储,形成家庭地址候选GPS坐标集和公司地址候选GPS坐标集。
在步骤202中,将进行预处理后的目的地地址候选坐标数据进行拆分。
该步骤可以将进行预处理后的目的地地址候选坐标数据拆分为至少两份以上候选坐标数据。
本发明实施例采用分布式数据存储框架Hadoop和分布式并行计算框架Spark来预测海量用户的家庭地址或公司地址,因此,进行程序并行化设置,将输入的已经聚合好的候选坐标表中的候选坐标数据,按行重新分区(Repartition)拆分为多份,也即将原来只有一份的输入数据拆分为多份的输入数据,使得后续能以并行运算的形式同时对每份数据进行计算。举例说明,例如输入的候选坐标表中的某个用户的家庭地址候选GPS坐标集有120条数据,将候选坐标表的输入数据重新分区拆分为3份,将前40条数据放到一个文件a中,将中间40条数据放到文件b中,将后面40条数据放到文件c中,这样可使得计算机设备A计算文件a,计算机设备B计算文件b,计算机设备C计算文件c,最后再将计算机设备A、B和C的计算结果放在同一个文件d。
在步骤203中,将拆分的候选坐标数据分配给分布式并行计算框架下的不同计算机设备并采用DBSCAN算法并行进行聚类运算,分别得到运算后的目的地地址坐标数据。
如前举例,如果120条数据被拆分为3份,则可以分别分配给Spark中的不同计算机设备例如分配给计算机设备A、B和C,那么计算机设备A对文件a进行聚类运算,计算机设备B对文件b进行聚类运算,计算机设备C对文件c进行聚类运算。本发明实例在运行时将当前任务的并行度设置为输入数据份数的多倍例如2到3倍,可以提高资源利用率。
其中,因为DBSCAN算法迭代每计算一次就减少一个点,下一次迭代需计算的点就少了,计算量及计算时间就少了;而K-Means算法每一次迭代都需要遍历所有的点;因此,本发明实施例选择采用DBSCAN算法进行聚类运算,可以有效减少聚类运算的计算量及计算时间。
在步骤203中,可以进一步包括:
231)各计算机设备遍历拆分后的候选坐标表的每行数据。
该步骤中,对于不同用户的家庭地址和公司地址的每行数据是分别进行遍历运算,也即遍历所述候选坐标表的每行目的地地址候选坐标数据。
232)采用DBSCAN算法判断候选坐标的核心点。
该步骤采用DBSCAN算法判断目的地地址候选坐标中的核心点,例如,将每个目的地地址候选坐标作为点,若以其中一目的地地址候选坐标为圆心,在指定的扫描半径的圆周内包含的点的个数大于最小包含点数,则判断该目的地地址候选坐标为核心点。
其中,DBSCAN算法是一个比较有代表性的基于密度的聚类算法。它将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在噪声的空间数据库中发现任意形状的聚类。DBSCAN算法一般需要二个参数:Eps(扫描半径)和minPts(最小包含点数)。任选一个未被访问的点开始,找出与其距离在Eps之内(包括Eps)的所有附近点。如果附近点的数量≥minPts,则当前点与其附近点形成一个簇,并且出发点被标记为已访问。然后递归,以相同的方法处理该簇内所有未被标记为已访问的点,从而对簇进行扩展。如果附近点的数量<minPts,则该点暂时被标记作为噪声点。如果簇充分地被扩展,即簇内的所有点被标记为已访问,然后用同样的算法去处理未被访问的点。
本发明实施例可以建立聚类模型,其中模型建立主要是通过距离及密度两个指标参数确定哪些点属于同一个分类,并以分类中点个数较多的类作为用户家庭地址或公司地址的GPS坐标。这里所述的点,是指经纬度坐标,也即将候选坐标表中的每个目的地地址候选坐标作为点,例如某点坐标为(113.3662,23.1341)。对上述处理举例说明,例如对{a,b,c,d,e,f,g,h}进行分类,分类结果{a,b,c,d,e}为第一类,{f,g,h}为第二类,那么第一类有5个点,第二类有3个点,就将第一类作为用户家庭地址或公司地址的GPS坐标。
本发明实施例的聚类模型主要包括两个模型:
1)核心点模型:针对某点,若以该点为圆心,在指定扫描半径(Eps)的圆周内包含的点的个数大于minPts,则该点称为核心点,否则称为非核心点,可以参见图3所示,图3是本发明实施例方法中的聚类模型中的核心点模型的示意图。
2)同类别点模型:针对某两个核心点,若存在一组以核心点为圆心、Eps为半径的圆周,使得两核心点连通,则两点为同一类别的核心点,可以参见图4所示,图4是本发明实施例方法中的聚类模型中的同类别核心点模型的示意图。以图4为例说明,核心点A和核心点B的圆周虽然没有直接相交,但是,存在了其他的核心点使得核心点A与核心点B的圆周间接相交了,所以A、B是同一类别的点;核心点A和核心点C,无法找到其他的核心点使得A、C的圆周间接相交或直接相交,所以A、C不是同一类别的核心点;同理,B、C也不是同一类别的核心点。
为了使得算法能适配多种差别的用户类型,本发明实施例对上述模型中涉及的参数进行设定和优化。其中,将参数进行多次优化后,可以将核心点模型的参数设置为Eps=800~1200(米),minPts=2~4(个)。例如,可以设置Eps=900(米)和minPts=2(个)、Eps=900(米)和minPts=3(个)、Eps=1000(米)和minPts=2(个)、Eps=1000(米)和minPts=3(个)、Eps=1100(米)和minPts=2(个)或Eps=1100(米)和minPts=3(个)等。需说明的是,上述参数的值还可以根据实际需要进行调整设置。
233)在判断出的所述核心点中判断同一类别的核心点。
该步骤中,针对判断出的核心点,若发现存在一组以核心点为圆心、Eps为半径的圆周,使得两个核心点连通,则确定该两点为同一类别的核心点。
234)根据判断出的同一类别的核心点所包含点数的比较结果,确定家庭地址或公司地址的GPS坐标集合。
该步骤中,判断出哪些点属于同一类别的核心点后,以分类中点个数较多的类作为用户家庭地址或公司地址的GPS坐标集合。例如假设分类结果{a,b,c,d,e}为第一类的同一类别的核心点,{f,g,h}为第二类的同一类别的核心点,那么第一类有5个点,第二类有3个点,就将第一类作为用户家庭地址或公司地址的GPS坐标集合。
在步骤204中,将不同计算机设备分别得到的运算后的目的地地址坐标数据进行汇总聚合,将汇总聚合后的目的地地址作为预测地址。
例如,将不同计算机设备的运算结果进行聚合后的最终坐标表的结果可以如下表2所示:
用户ID | 最终的家庭地址GPS坐标 | 最终的公司地址GPS坐标 |
user1 | gps1_1,gps1_2,… | gps1_5,gps1_6,… |
user2 | gps2_1,gps2_2,… | gps2_5,gps2_6,… |
表2用户家庭及公司地址最终坐标表
也就是说,通过并行进行DBSCAN算法聚类运算,从大量的候选坐标中筛选得到了用户最可能的家庭地址或公司地址。例如,假设用户ID为user1的用户,原来的家庭地址候选GPS坐标集中可能有100个家庭地址候选GPS坐标,通过并行进行DBSCAN算法聚类运算后,最后可能得到1个、2个或3个等最可能的家庭地址GPS坐标。同理,对于公司地址候选GPS坐标集,最后可能得到1个、2个或3个等最可能的公司地址GPS坐标。其中,最可能的家庭地址GPS坐标和公司地址GPS坐标可以分别由包含点个数最多的类别中与本类别其他点距离最近的点确定。例如:a、b、c、d都是类别1中的点,那么a到其他各点(b、c、d)的距离之和有一个值value1,b到其他各点(a、c、d)的距离之和也有一个值value2,同理还有值value3和value4,那么可以比较value1、value2、value3和value4之间的大小,假设进行比较后value1是最小的,那么a点就是需要找的点,根据a点就可以确定最可能的家庭地址GPS坐标或公司地址GPS坐标。还需说明的是,上述表2只是举例说明但不局限于此。
上述步骤202-204的过程也可以参照图5,图5是本发明实施例的流程应用示意图,通过图5可以更直观反映本发明实施例采用分布式并行计算框架Spark及聚类算法DBSCAN进行聚类运算的思想。
可以发现,本发明提供的技术方案,可以突破随数据量增加计算量也相应成倍增加且导致大数据量下无法对用户家庭地址或公司地址进行预测的瓶颈。本发明基于设定的输入数据结构设计,结合低时间复杂度的聚类算法DBSCAN及现有的分布式并行计算框架Spark,使得算法能够并行快速而准确地计算用户的家庭地址或公司地址等目的地地址。本发明提供的方案,由于算法运行在分布并行计算的的环境下,使得预测算法不再受用户数量及数据大小的束缚,因此非常适合大数据背景下市场要求。
上述详细介绍了本发明的预测目的地地址的方法,本发明相应提供一种预测目的地地址的系统。
图6是本发明实施例一种预测目的地地址的系统的结构框架的一示意图。
参照图6,本发明提供的预测目的地地址的系统,包括分布式并行计算框架下的不同终端设备601、602、603、604。其中终端设备可以是计算机设备但不局限于此,也可以是其他类型终端设备。
其中至少两个以上终端设备601-603,用于获取被拆分后的目的地地址候选坐标数据;将所述获取的目的地地址候选坐标数据采用密度聚类算法并行进行聚类运算,分别得到运算后的目的地地址坐标数据;
其中一终端设备604,将所述至少两个以上终端设备601-603分别得到的运算后的目的地地址坐标数据进行汇总聚合,将汇总聚合后的目的地地址作为预测地址。
图7是本发明实施例一种预测目的地地址的系统的结构框架的另一示意图。
参照图7,本发明提供的预测目的地地址的系统,包括分布式并行计算框架下的不同终端设备601、602、603、604、605。
与图6相比,所述系统还包括一终端设备605,用于将用户设定时间段内的行程记录数据进行预处理,得到目的地地址候选坐标数据。
其中,终端设备601、602、603、604的功能可以参见图6中的描述。
其中,所述用于进行预处理的终端设备605,是将用户设定时间段内的行程记录数据中的目的地地址坐标,聚合到候选坐标表的同一行作为目的地地址候选坐标数据。例如,可以将用户设定时间段内的行程记录数据中,选取设定时间点内的第一次停车和最后一次停车的地址坐标数据,分别作为公司地址候选坐标数据及家庭地址候选坐标数据,将所述选取的公司地址候选坐标数据及家庭地址候选坐标数据分别聚合到候选坐标表的同一行。
所述用于进行预处理的终端设备605,还将目的地地址候选坐标数据拆分后分配给终端设备601-603。
其中,所述至少两个以上终端设备601-603,是遍历所述候选坐标表的每行目的地地址候选坐标数据;采用密度聚类算法判断所述目的地地址候选坐标中的核心点;在判断出的所述核心点中判断同一类别的核心点;根据判断出的同一类别的核心点所包含点数的比较结果,确定目的地地址坐标数据。
其中所述采用密度聚类算法判断所述目的地地址候选坐标中的核心点,包括:将每个目的地地址候选坐标作为点,若以其中一目的地地址候选坐标为圆心,在指定的扫描半径的圆周内包含的点的个数大于最小包含点数,则判断该目的地地址候选坐标为核心点。其中,所述扫描半径可以为800~1200米,最小包含点数可以为2~4个。
通过该实施例可以发现,本发明实施例构建了分布式环境,采用分布式并行计算框架Spark,由分布式并行计算框架下的不同终端设备获取被拆分后的目的地地址候选坐标数据;将所述获取的目的地地址候选坐标数据采用密度聚类算法并行进行聚类运算,分别得到运算后的目的地地址坐标数据;最后将所述分别得到的运算后的目的地地址坐标数据进行汇总聚合,将汇总聚合后的目的地地址作为预测地址。因为本发明实施例改进了计算运行环境,摒弃了传统的单台PC计算,改为采用分布式并行计算,因此可以使得算法具备处理百万用户以上、TB级数据量等特性;因为本发明实施例方案运行在分布式并行计算环境Spark下,且并行度可在计算资源允许之下,随数据量的大小而相应的调整,因此为计算大用户量、海量数据提供便利;本发明实施例还改进了聚类算法,改为采用基于密度、低时间复杂度的聚类算法DBSCAN对地址坐标进行聚类,DBSCAN算法迭代每计算一次就减少一个点,下一次迭代需计算的点就少了,因此可以有效减少聚类的计算量及计算时间。所以,本发明实施例的技术方案,可以更精确及快速地预测用户可能的家庭地址或公司地址等目的地地址。
上文中已经参考附图详细描述了根据本发明的技术方案。
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (11)
1.一种预测目的地地址的方法,其特征在于,包括:
由分布式并行计算框架下的不同终端设备获取被拆分后的目的地地址候选坐标数据;
将所述获取的目的地地址候选坐标数据采用密度聚类算法并行进行聚类运算,分别得到运算后的目的地地址坐标数据;
将所述分别得到的运算后的目的地地址坐标数据进行汇总聚合,将汇总聚合后的目的地地址作为预测地址。
2.根据权利要求1所述的方法,其特征在于,所述由分布式并行计算框架下的不同终端设备获取被拆分后的目的地地址候选坐标数据之前,还包括:
将用户设定时间段内的行程记录数据进行预处理,得到目的地地址候选坐标数据。
3.根据权利要求2所述的方法,其特征在于,所述将用户设定时间段内的行程记录数据进行预处理,得到目的地地址候选坐标数据,包括:
将用户设定时间段内的行程记录数据中的目的地地址坐标,聚合到候选坐标表的同一行作为目的地地址候选坐标数据。
4.根据权利要求3所述的方法,其特征在于,所述将用户设定时间段内的行程记录数据中的目的地地址坐标,聚合到候选坐标表的同一行作为目的地地址候选坐标数据,包括:
将用户设定时间段内的行程记录数据中,选取设定时间点内的第一次停车和最后一次停车的地址坐标数据,分别作为公司地址候选坐标数据及家庭地址候选坐标数据,将所述选取的公司地址候选坐标数据及家庭地址候选坐标数据分别聚合到候选坐标表的同一行。
5.根据权利要求3或4所述的方法,其特征在于,所述将所述获取的目的地地址候选坐标数据采用密度聚类算法并行进行聚类运算,分别得到运算后的目的地地址坐标数据,包括:
遍历所述候选坐标表的每行目的地地址候选坐标数据;
采用密度聚类算法判断所述目的地地址候选坐标中的核心点;
在判断出的所述核心点中判断同一类别的核心点;
根据判断出的同一类别的核心点所包含点数的比较结果,确定目的地地址坐标数据。
6.根据权利要求5所述的方法,其特征在于,所述采用密度聚类算法判断所述目的地地址候选坐标中的核心点,包括:
将每个目的地地址候选坐标作为点,若以其中一目的地地址候选坐标为圆心,在指定的扫描半径的圆周内包含的点的个数大于最小包含点数,则判断该目的地地址候选坐标为核心点。
7.根据权利要求6所述的方法,其特征在于:
所述扫描半径为800~1200米,所述最小包含点数为2~4个。
8.一种预测目的地地址的系统,其特征在于:
所述系统包括分布式并行计算框架下的不同终端设备;
其中至少两个以上终端设备,用于获取被拆分后的目的地地址候选坐标数据;将所述获取的目的地地址候选坐标数据采用密度聚类算法并行进行聚类运算,分别得到运算后的目的地地址坐标数据;
其中一终端设备,将所述至少两个以上终端设备分别得到的运算后的目的地地址坐标数据进行汇总聚合,将汇总聚合后的目的地地址作为预测地址。
9.根据权利要求8所述的系统,其特征在于:
所述系统还包括一终端设备,用于将用户设定时间段内的行程记录数据进行预处理,得到目的地地址候选坐标数据。
10.根据权利要求9所述的系统,其特征在于:
所述用于进行预处理的终端设备,是将用户设定时间段内的行程记录数据中的目的地地址坐标,聚合到候选坐标表的同一行作为目的地地址候选坐标数据。
11.根据权利要求10所述的系统,其特征在于:
所述至少两个以上终端设备,是遍历所述候选坐标表的每行目的地地址候选坐标数据;采用密度聚类算法判断所述目的地地址候选坐标中的核心点;在判断出的所述核心点中判断同一类别的核心点;根据判断出的同一类别的核心点所包含点数的比较结果,确定目的地地址坐标数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811454961.4A CN109636020A (zh) | 2018-11-30 | 2018-11-30 | 一种预测目的地地址的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811454961.4A CN109636020A (zh) | 2018-11-30 | 2018-11-30 | 一种预测目的地地址的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109636020A true CN109636020A (zh) | 2019-04-16 |
Family
ID=66070425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811454961.4A Pending CN109636020A (zh) | 2018-11-30 | 2018-11-30 | 一种预测目的地地址的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109636020A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110609874A (zh) * | 2019-08-13 | 2019-12-24 | 南京安链数据科技有限公司 | 一种基于密度聚类算法的地址实体共指消解方法 |
CN111047130A (zh) * | 2019-06-11 | 2020-04-21 | 北京嘀嘀无限科技发展有限公司 | 用于交通分析和管理的方法和系统 |
CN111539551A (zh) * | 2020-03-18 | 2020-08-14 | 广州亚美信息科技有限公司 | 行车目的地地址预测方法、装置、计算机设备和存储介质 |
CN111611500A (zh) * | 2020-04-09 | 2020-09-01 | 中国平安财产保险股份有限公司 | 一种基于聚类的常去地识别方法及装置、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615638A (zh) * | 2014-11-25 | 2015-05-13 | 浙江银江研究院有限公司 | 一种面向大数据的分布式密度聚类方法 |
CN106203494A (zh) * | 2016-06-30 | 2016-12-07 | 电子科技大学 | 一种基于内存计算的并行化聚类方法 |
CN107305577A (zh) * | 2016-04-25 | 2017-10-31 | 北京京东尚科信息技术有限公司 | 基于K-means的妥投地址数据处理方法和系统 |
CN108074415A (zh) * | 2017-12-19 | 2018-05-25 | 广州小鹏汽车科技有限公司 | 一种基于用户行为的车辆目的地预测方法及系统 |
CN108182446A (zh) * | 2017-12-13 | 2018-06-19 | 北京中交兴路信息科技有限公司 | 一种基于聚类算法的司机常驻地预测方法及装置 |
-
2018
- 2018-11-30 CN CN201811454961.4A patent/CN109636020A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615638A (zh) * | 2014-11-25 | 2015-05-13 | 浙江银江研究院有限公司 | 一种面向大数据的分布式密度聚类方法 |
CN107305577A (zh) * | 2016-04-25 | 2017-10-31 | 北京京东尚科信息技术有限公司 | 基于K-means的妥投地址数据处理方法和系统 |
CN106203494A (zh) * | 2016-06-30 | 2016-12-07 | 电子科技大学 | 一种基于内存计算的并行化聚类方法 |
CN108182446A (zh) * | 2017-12-13 | 2018-06-19 | 北京中交兴路信息科技有限公司 | 一种基于聚类算法的司机常驻地预测方法及装置 |
CN108074415A (zh) * | 2017-12-19 | 2018-05-25 | 广州小鹏汽车科技有限公司 | 一种基于用户行为的车辆目的地预测方法及系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111047130A (zh) * | 2019-06-11 | 2020-04-21 | 北京嘀嘀无限科技发展有限公司 | 用于交通分析和管理的方法和系统 |
CN110609874A (zh) * | 2019-08-13 | 2019-12-24 | 南京安链数据科技有限公司 | 一种基于密度聚类算法的地址实体共指消解方法 |
CN110609874B (zh) * | 2019-08-13 | 2023-07-25 | 南京安链数据科技有限公司 | 一种基于密度聚类算法的地址实体共指消解方法 |
CN111539551A (zh) * | 2020-03-18 | 2020-08-14 | 广州亚美信息科技有限公司 | 行车目的地地址预测方法、装置、计算机设备和存储介质 |
CN111611500A (zh) * | 2020-04-09 | 2020-09-01 | 中国平安财产保险股份有限公司 | 一种基于聚类的常去地识别方法及装置、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109636020A (zh) | 一种预测目的地地址的方法及系统 | |
US11250250B2 (en) | Pedestrian retrieval method and apparatus | |
WO2020215783A1 (zh) | 定位方法、装置及存储介质 | |
CN109189876B (zh) | 一种数据处理方法及装置 | |
CN111178380A (zh) | 数据分类方法、装置及电子设备 | |
US8965895B2 (en) | Relationship discovery in business analytics | |
Xia et al. | Parallelized fusion on multisensor transportation data: A case study in cyberits | |
CN108540988B (zh) | 一种场景划分方法及装置 | |
CN109697456A (zh) | 业务分析方法、装置、设备及存储介质 | |
WO2022001918A1 (zh) | 构建预测模型的方法、装置、计算设备和存储介质 | |
KR20200010624A (ko) | 머신러닝을 이용한 빅데이터 통합진단 예측 시스템 | |
CN110992124A (zh) | 房源的推荐方法及房源的推荐系统 | |
WO2021191685A2 (en) | System and method for vehicle event data processing for identifying parking areas | |
CN115237804A (zh) | 性能瓶颈的评估方法、装置、电子设备、介质和程序产品 | |
CN113344128B (zh) | 一种基于微簇的工业物联网自适应流聚类方法及装置 | |
CN110020333A (zh) | 数据分析方法及装置、电子设备、存储介质 | |
CN116611678B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN113204642A (zh) | 文本聚类方法、装置、存储介质和电子设备 | |
CN115152191B (zh) | 移动网络中的分析生成和使用 | |
CN111046082B (zh) | 一种基于语义分析的报表数据源推荐方法与装置 | |
CN107391728B (zh) | 数据挖掘方法以及数据挖掘装置 | |
CN108345620A (zh) | 品牌信息处理方法、装置、存储介质及电子设备 | |
CN113850346A (zh) | Mec环境下多维属性感知的边缘服务二次聚类方法及系统 | |
CN113032514B (zh) | 兴趣点数据处理方法及装置 | |
CN111737371B (zh) | 可动态预测的数据流量检测分类方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190416 |
|
RJ01 | Rejection of invention patent application after publication |