一种商圈判定方法和装置
技术领域
本说明书实施例涉及机器学习领域,更具体地,涉及一种训练商圈判定模型的方法和装置、判定商圈的方法和装置以及更新商圈判定的方法和装置。
背景技术
近年来,在“新零售”、“新金融”的背景下,线下店铺得到大力发展。相比于线上商户,线下商户拥有实体店,物以类聚,其在地理位置上具有一定的聚集性,即,可以将这些实体店划分到各个商圈中。通过商圈信息,可以加深对店铺的认识:识别线下行业市场、辅助判断门店经营状况等。目前已有的商圈信息包括:通过线下BD打标的商圈信息、以及主要来源于爬取的大众点评商圈结果的商圈信息。上述商圈信息都是通过人工标注获取。因此,需要一种更有效的判定商圈的方案。
发明内容
本说明书实施例旨在提供一种更有效的判定商圈的方案,以解决现有技术中的不足。
为实现上述目的,本说明书一个方面提供一种训练商圈判定模型的方法,包括:获取预定地理范围内的多个店铺各自的位置信息和所述多个店铺各自的商圈标注信息;根据CFSFDP聚类算法,利用所述位置信息,计算各个店铺的局部密度ρ的值、与更高密度店铺的最小距离δ的值及其乘积γ的值;根据ρ、δ和γ各自的当前阈值,获取各个店铺的商圈判定信息;利用所述多个店铺各自的商圈判定信息和商圈标注信息,计算全部所述商圈判定信息相对于全部所述商圈标注信息的相似度;以及调整ρ、δ及γ各自的阈值,使得所述相似度提高。
在一个实施例中,在所述训练商圈判定模型的方法中,所述多个店铺中店铺i的局部密度ρ的值为ρi,其中,
ρi=∑jχ(dij-dc),
其中,当dij-dc<0时,χ(dij-dc)=1,当dij-dc≥0时,χ(dij-dc)=0,
其中dc为半径阈值,dij为所述多个店铺中的店铺i与店铺j之间的距离,i和j为小于等于所述多个店铺的总店铺数的自然数,且i≠j。
在一个实施例中,在所述训练商圈判定模型的方法中,所述多个店铺中店铺i的局部密度ρ的值为ρi,其中,
其中dc为半径阈值,dij为所述多个店铺中的店铺i与店铺j之间的距离,i和j为小于等于所述多个店铺的总店铺数的自然数,且i≠j。
在一个实施例中,在所述训练商圈判定模型的方法中,
店铺i和店铺j的位置信息分别以经纬度表示为(Loni,Lati)和(Lonj,Latj),并且其距离dij如下计算:
其中R为地球半径。
在一个实施例中,在所述训练商圈判定模型的方法中,所述相似度以参数WFS表示,其中,
其中i为0到A的整数,j为0到B的整数,A为标注商圈的商圈数,B为判定商圈的商圈数,Ni为第i个标注商圈包含的店铺数,N为所述多个店铺的总店铺数,
Pij为关于第i个标注商圈和第j个判定商圈的精确率,Rij为关于第i个标注商圈和第j个判定商圈的召回率,其中将包括标注零散店铺的集合设定为第0个标注商圈,将包括判定零散店铺的集合设定为第0个判定商圈,其中所述标注零散店铺为不属于任何标注商圈的标注店铺,所述判定零散店铺为不属于任何判定商圈的判定店铺。
在一个实施例中,在所述训练商圈判定模型的方法中,调整ρ、δ及γ各自的阈值,使得所述相似度提高包括,调整ρ、δ及γ各自的阈值,使得所述相似度最大。
本说明书另一方面提供一种判定商圈的方法,包括:获取预定地理范围内的多个店铺各自的位置信息;根据CFSFDP聚类算法,利用所述位置信息,计算各个店铺的局部密度ρ的值、与更高密度店铺的最小距离δ的值及其乘积γ的值;通过根据上述训练商圈判定模型的方法获取的ρ、δ及γ各自的调整后的阈值,针对所述多个店铺判定商圈。
在一个实施例中,在所述判定商圈的方法中,所述预定地理范围为预定城市。
本说明书另一方面提供一种更新商圈判定的方法,包括:获取预定地理范围内的多个第一店铺各自的第一位置信息和各个第一店铺之间的第一距离;获取所述预定地理范围内的至少一个第二店铺各自的第二位置信息;利用所述第一位置信息和第二位置信息,计算所述各个第二店铺之间第二距离、第二店铺中任一店铺与第一店铺中任一店铺之间的第三距离;根据CFSFDP聚类算法,基于所述第一距离、第二距离和第三距离,计算所述多个第一店铺和至少一个第二店铺各自的局部密度ρ的值、与更高密度店铺的最小距离δ的值及其乘积γ的值;以及通过根据上述训练商圈判定模型的方法获取的ρ、δ及γ各自的调整后的阈值,针对所述多个第一店铺和至少一个第二店铺判定商圈。
在一个实施例中,所述更新商圈判定的方法每预定时段执行一次。
本说明书另一方面提供一种训练商圈判定模型的装置,包括:第一获取单元,配置为,获取预定地理范围内的多个店铺各自的位置信息和所述多个店铺各自的商圈标注信息;第一计算单元,配置为,根据CFSFDP聚类算法,利用所述位置信息,计算各个店铺的局部密度ρ的值、与更高密度店铺的最小距离δ的值及其乘积γ的值;第二获取单元,配置为,根据ρ、δ和γ各自的当前阈值,获取各个店铺的商圈判定信息;第二计算单元,配置为,利用所述多个店铺各自的商圈判定信息和商圈标注信息,计算全部所述商圈判定信息相对于全部所述商圈标注信息的相似度;以及阈值调整单元,配置为,调整ρ、δ及γ各自的阈值,使得所述相似度提高。
本说明书另一方面提供一种判定商圈的装置,包括:获取单元,配置为,获取预定地理范围内的多个店铺各自的位置信息;计算单元,配置为,根据CFSFDP聚类算法,利用所述位置信息,计算各个店铺的局部密度ρ的值、与更高密度店铺的最小距离δ的值及其乘积γ的值;以及判定单元,配置为,通过根据上述训练商圈判定模型的方法获取的ρ、δ及γ各自的调整后的阈值,针对所述多个店铺判定商圈。
本说明书另一方面提供一种更新商圈判定的装置,包括:第一获取单元,配置为,获取预定地理范围内的多个第一店铺各自的第一位置信息和各个第一店铺之间的第一距离;第二获取单元,配置为,获取所述预定地理范围内的至少一个第二店铺各自的第二位置信息;第一计算单元,配置为,利用所述第一位置信息和第二位置信息,计算所述各个第二店铺之间第二距离、第二店铺中任一店铺与第一店铺中任一店铺之间的第三距离;第二计算单元,配置为,根据CFSFDP聚类算法,基于所述第一距离、第二距离和第三距离,计算所述多个第一店铺和至少一个第二店铺各自的局部密度ρ的值、与更高密度店铺的最小距离δ的值及其乘积γ的值;以及判定单元,配置为,通过根据上述训练商圈判定模型的方法获取的ρ、δ及γ各自的调整后的阈值,针对所述多个第一店铺和至少一个第二店铺判定商圈。
通过根据本说明书实施例的判定商圈的方案,可快速准确地判定商圈,同时可保证判定结果的稳定性。并且,本说明书实施例还有效降低了计算复杂度,优化了计算时间。
附图说明
通过结合附图描述本说明书实施例,可以使得本说明书实施例更加清楚:
图1示出了根据本说明书实施例的用于判定商圈的系统100的示意图;
图2示出了根据本说明书实施例的训练商圈判定模型的方法流程图;
图3示意示出了ρ-δ分布图的示例;
图4示意示出了γ分布图的示例;
图5示出了根据本说明书实施例的判定商圈的方法流程图;
图6示出了根据本说明书实施例的一种更新商圈判定的方法流程图;
图7示出了根据本说明书实施例的一种训练商圈判定模型的装置700;
图8示出了根据本说明书实施例的一种判定商圈的装置800;以及
图9示出了根据本说明书实施例的一种更新商圈判定的装置900。
具体实施方式
下面将结合附图描述本说明书实施例。
图1示出了根据本说明书实施例的用于判定商圈的系统100的示意图。如图1所示,系统100包括聚类模块11、评估模块12和阈值调整模块13。在训练阶段,将训练样本输入到聚类模块11。训练样本包括店铺各自的位置信息和店铺各自的商圈标注信息。聚类模块11根据CFSFDP聚类算法,利用所述位置信息,计算各个店铺的局部密度ρ的值、与更高密度店铺的最小距离δ的值及其乘积γ的值,根据ρ、δ和γ各自的当前阈值,获取各个店铺的商圈判定信息。之后,聚类模块11将上述商圈判定信息传送给评估模块12。评估模块12利用所述多个店铺各自的商圈判定信息和商圈标注信息,计算全部所述商圈判定信息相对于全部所述商圈标注信息的相似度作为评估分数,并将该评估分数传送给阈值调整模块13。阈值调整模块13根据评估分数对聚类模块11中的参数ρ、δ和γ的阈值进行调整,以提高评估分数,并在多次调整之后,使得评估分数达到最大。在通过对聚类模块11的训练达到其最优的参数阈值之后,可通过该距离模块11对全量店铺信息进行聚类,以获取商圈判定结果。
图2示出了根据本说明书实施例的训练商圈判定模型的方法流程图。如图2所示,所述方法包括:在步骤S21,获取预定地理范围内的多个店铺各自的位置信息和所述多个店铺各自的商圈标注信息;在步骤S22,根据CFSFDP聚类算法,利用所述位置信息,计算各个店铺的局部密度ρ的值、与更高密度店铺的最小距离δ的值及其乘积γ的值;在步骤S23,根据ρ、δ和γ各自的当前阈值,获取各个店铺的商圈判定信息;在步骤S24,利用所述多个店铺各自的商圈判定信息和商圈标注信息,计算全部所述商圈判定信息相对于全部所述商圈标注信息的相似度;以及在步骤S25,调整ρ、δ及γ各自的阈值,使得所述相似度提高。
首先,在步骤S21,获取预定地理范围内的多个店铺各自的位置信息和所述多个店铺各自的商圈标注信息。预定地理范围例如可以是包括100多个商圈的地理范围,例如城市的区、县等。为了参数的准确性,多个店铺的店铺数例如可以为几千的量级,例如3000个。优选地,所述多个店铺覆盖的多个商圈包括多种位置关系,例如,商圈与商圈相邻、相交、远离等。店铺的位置信息可以以已知的各种形式表示,例如,店铺的位置信息可以是店铺经纬度,或者,店铺的位置信息可以是城市坐标等。店铺的商圈标注信息包括:店铺是否属于某个商圈,店铺属于哪个商圈等。例如,可以以标注商圈字段表示店铺的商圈标注信息,当该字段为0时,表示店铺为不属于任何商圈的零散店铺,当该字段为自然数时,表示该店铺属于以该自然数标识的商圈。
在步骤S22,根据CFSFDP聚类算法,利用所述位置信息,计算各个店铺的局部密度ρ的值、与更高密度店铺的最小距离δ的值及其乘积γ的值。
首先说明对本说明书实施例中使用的CFSFDP算法中的参数局部密度ρ的值的计算。
在一个实施例中,所述多个店铺中店铺i的局部密度ρ的值为ρi,其中,通过以下公式(1)计算ρi:
ρi=∑jχ(dij-dc) (1)
其中,当dij-dc<0时,χ(dij-dc)=1,当dij-dc≥0时,χ(dij-dc)=0,其中dc为半径阈值,dij为所述多个店铺中的店铺i与店铺j之间的距离,i和j为小于等于所述多个店铺的总店铺数的自然数,且i≠j。
在本说明书实施例中,使用CFSFDP聚类算法来判定商圈,即对店铺点进行聚类,由于商圈的形状一般比较固定,因此将dc为设定为0.2(即200m)。通过该设定,极大地提高了聚类结果的稳定性。所述店铺i与店铺j之间的距离dij可根据店铺位置信息的不同形式而采用不同的公式。例如,在店铺i和店铺j的位置信息分别以经纬度表示为(Loni,Lati)和(Lonj,Latj)时,通过如下公式(2)计算距离dij:
通过公式(2)计算的dij是球面上两点间的距离,其中R为地球半径,可取平均值6371km。在另一个实例中,dij可以是欧式距离、明氏(Minkowsky)距离、马氏(Manhattan)距离等。在另一个实例中,店铺i和店铺j的位置信息分别以城市坐标系中的三维或二维坐标表示,从而可通过店铺i和店铺j的坐标计算其之间的例如欧式距离作为dij。在计算中,可通过例如上述公式(2)计算各个dij,从而获得距离矩阵。
根据公式(1),当店铺i与店铺j之间的距离小于dc(即0.2(km))时,即,当店铺j在店铺i的200m半径范围内时,χ(dij-dc)的值为1,当店铺j在店铺i的200m半径范围以外时,χ(dij-dc)的值为0。也就是说,这里的ρi为距离店铺i的一定半径(200m)范围内的店铺数量。
在另一个优选实施例中,引入基于高斯核函数的距离计算公式,通过以下公式(3)计算ρi,
其中dc为半径阈值,dij为所述多个店铺中的店铺i与店铺j之间的距离,i和j为小于等于所述多个店铺的总店铺数的自然数,且i≠j。其中dc和dij可与上述公式(1)中的相同参数同样地获取。通过公式(3)计算的局部密度ρi表示的是关于dij(dij<dc)与dc的比值的函数,其可视为在店铺i的200m范围内的店铺的距离增益之和。通过公式(3)更合理准确地描述了店铺的局部密度。
接下来,说明对本说明书实施例中使用的CFSFDP算法中的参数与更高密度店铺的最小距离δ的值的计算。店铺i的δ的值可表示为δi,可通过以下公式(4)计算δi:
通过公式(4)可以得出,当ρi为最高密度的店铺点时,δi为dij(其中j为除i之外的任一个店铺)中的最大值,当ρi不是最高密度的店铺点时,δi等于店铺i与更高密度的店铺之间的距离中的最小距离。
在确定各个店铺点的ρi和δi之后,可通过绘制ρ-δ分布图来确定商圈中心。图3示出了ρ-δ分布图的示例。如图3所示,ρ-δ分布图中的横坐标为ρ,纵坐标为δ。如本领域技术人员所知,在CFSFDP算法中,类中心具有较高的局部密度值ρ和较高的高密度距离δ,因此,在ρ-δ分布图中位于图中右上部分中的点有可能是聚类中心。例如,在图3所示的ρ-δ分布图中,除黑色点之外的不同灰度的点都有可能是商圈中心。
另外,在确定各个店铺点的ρi和δi之后,还可以计算其乘积γi=ρi*δi,然后,可对全部店铺各自的γi进行排序,并在γ分布图中按照各个γi从大到小的顺序绘制γ分布图。图4示意示出了γ分布图的示例。如图4所示,图中纵坐标为γ,横坐标为店铺i根据γi大小进行排序后的序列号,其中每个序列号对应一个店铺。γ越大,代表ρ*δ越大,即该点对应的店铺成为商圈中心的可能性较大。
再回到图2,在步骤S23,根据ρ、δ和γ各自的当前阈值,获取各个店铺的商圈判定信息。
在本说明书实施例中,通过结合例如图3的ρ-δ分布图和例如图4的γ分布图,根据设定的ρ、δ和γ的阈值,判定成为商圈中心的店铺。例如,在图3中,垂直于ρ轴的虚线代表ρ的阈值,垂直于δ轴的虚线代表δ的阈值,在图4中,垂直于γ轴的虚线代表γ的阈值。在画出阈值线之后,在图3中,在ρ阈值线与δ阈值线交点右上方中的点为第一商圈中心,在图4中,在γ阈值线上方的点为第二商圈中心。再结合图3和图4,取根据图3判定的第一商圈中心与根据图4判定的第二商圈中心的交集,从而获取最终作为商圈中心的店铺。
在获取商圈中心之后,对所述多个店铺中的每个店铺进行聚类,即,将其划分到某个商圈中。具体是,在一个实施例中,将每个店铺归类到距离其最近的并且密度比其高的店铺点所属的商圈中。在一个实施例中,将每个店铺归类到距离其最近的商圈中心所述商圈中。当店铺距离任一密度比其高的店铺的距离太远,或者店铺距离任一商圈中心的距离太远时,例如超过2km时,可认为该店铺为零散店铺,不属于任一商圈,或者可认为该店铺属于商圈标识号为0的商圈。从而获得每个店铺的商圈判定信息。
在步骤S24,利用所述多个店铺各自的商圈判定信息和商圈标注信息,计算全部所述商圈判定信息相对于全部所述商圈标注信息的相似度。
所述相似度是表示商圈判定信息与商圈标注信息相似的程度。可通过多种形式来计算相似度,以评估判定结果。例如,精确率(Precision)、召回率(Recall)、AUC分数、对数损失、准确率(Accuracy)等,都可以用来表示相似度。
在本说明书一个实施例中,以WFS分数表示相似度,其中,通过公式(5)计算WFS,
其中通过公式(6)计算fij,
其中i为0到A的整数,j为0到B的整数,A为标注商圈的商圈数,B为判定商圈的商圈数,Ni为第i个标注商圈包含的店铺数,N为所述多个店铺的总店铺数,
Pij为关于第i个标注商圈和第j个判定商圈的精确率,Rij为关于第i个标注商圈和第j个判定商圈的召回率,其中将包括标注零散店铺的集合设定为第0个标注商圈,将包括判定零散店铺的集合设定为第0个判定商圈,其中所述标注零散店铺为不属于任何标注商圈的标注店铺,所述判定零散店铺为不属于任何判定商圈的判定店铺。
具体地,可通过以下公式(7)计算Pij,可通过以下公式(8)计算Rij:
其中,i为0到A的整数,j为0到B的整数,A为标注商圈的商圈数,B为判定商圈的商圈数。xij为第i个标注商圈中的店铺被分配到第j个判定商圈中的店铺数。其中,假设包括零散标注店铺的集合为第0个标注商圈(即,i=0),假设包括零散判定店铺的集合为第0个判定商圈(即,j=0),以便于通过上述公式(7)和(8)统一计入零散店铺。
在步骤S25,调整ρ、δ及γ各自的阈值,使得所述相似度提高。
再参考图3和图4,可在图3和图4中的三条阈值线的至少一条阈值线的上下方移动所述至少一条阈值线,以获得调整后的阈值。在进行所述移动之后,与上述步骤S23和S24中同样地,根据ρ、δ和γ各自的调整后的阈值,获取各个店铺的调整后的商圈判定信息,并利用商圈标注信息和调整后的商圈判定信息计算调整后的相似度。可依据所述相似度的变化,在使得相似度变大的方向上对所述阈值线进行多次移动,以不断地调整ρ、δ及γ各自的阈值,从而使得相似度不断提高。在一个实施例中,调整ρ、δ及γ各自的阈值,使得相似度最大,从而获得最优的ρ、δ及γ各自的阈值。
图5示出了根据本说明书实施例的判定商圈的方法流程图,包括以下步骤:在步骤S51,获取预定地理范围内的多个店铺各自的位置信息;在步骤S52,根据CFSFDP聚类算法,利用所述位置信息,计算各个店铺的局部密度ρ的值、与更高密度店铺的最小距离δ的值及其乘积γ的值;以及,在步骤S53,通过根据上述训练商圈判定模型的方法获取的ρ、δ及γ各自的调整后的阈值,针对所述多个店铺判定商圈。
在图5所示的方法中,所述预定地理范围可以是预定城市范围,即,以城市为单位来判定商圈。步骤S52的过程与图2中的步骤S22基本相同,步骤S53的过程与图2中的步骤S23基本相同,在此不再赘述。
图6示出了根据本说明书实施例的一种更新商圈判定的方法流程图,包括:在步骤S61,获取预定地理范围内的多个第一店铺各自的第一位置信息和各个第一店铺之间的第一距离;在步骤S62,获取所述预定地理范围内的至少一个第二店铺各自的第二位置信息;在步骤S63,利用所述第一位置信息和第二位置信息,计算所述各个第二店铺之间第二距离、第二店铺中任一店铺与第一店铺中任一店铺之间的第三距离;在步骤S64,根据CFSFDP聚类算法,基于所述第一距离、第二距离和第三距离,计算所述多个第一店铺和至少一个第二店铺各自的局部密度ρ的值、与更高密度店铺的最小距离δ的值及其乘积γ的值;以及在步骤S65,通过根据权利要求1-6中任一项所述的方法获取的ρ、δ及γ各自的调整后的阈值,针对所述多个第一店铺和至少一个第二店铺判定商圈。
图6所示的方法是一种增量迭代的方法。由于线下商户在不断拓展,店铺数不断扩大,直接计算距离矩阵将面临O(N2)的计算复杂度。因此,通过图6所示的方法,减少计算量,以加快计算速度。
具体地,首先,在步骤S61,获取预定地理范围内的多个第一店铺各自的第一位置信息和各个第一店铺之间的第一距离。所述预定地理范围例如可以是预定城市。在一个实例中,可在初始月份M0,获取多个店铺的位置信息,并如上所述计算各个店铺之间的距离,从而获取距离矩阵N0。而在M0下一个月份M1,新增了至少一个店铺,或者已有的多个店铺中有店铺的位置信息发生了变更。可将新增的店铺或者位置发生变更的店铺记为第二店铺,或者x新,从而上述多个店铺中与第二店铺无关的店铺为第一店铺,或者x老。例如,当第二店铺为新增店铺时,则第一店铺为在M0月获取的全部店铺。在另一个实例中,当第二店铺为已有店铺的位置发生变更的店铺时,则第一店铺为从在M0月获取的全部店铺除去该位置变更的店铺所剩下的店铺。
当在M1月对商圈判定进行更新时,可从在M0月获取的店铺位置信息及计算的距离矩阵N0直接获取多个第一店铺各自的第一位置信息和各个第一店铺之间的第一距离,所述第一距离即为店铺x老与x老之间的距离。
在步骤S62,获取所述预定地理范围内的至少一个第二店铺各自的第二位置信息。在如上所述实例中,当在M0下一个月份M1,新增了至少一个第二店铺时,获取新增的第二店铺的位置信息。或者,当在M1月,已有店铺中的第二店铺的位置信息发生变更时,获取第二店铺的变更后的位置信息。
在步骤S63,利用所述第一位置信息和第二位置信息,计算所述各个第二店铺之间第二距离、第二店铺中任一店铺与第一店铺中任一店铺之间的第三距离。即,利用所述第一位置信息和第二位置信息,计算x新与x新之间的第二距离以及x新与x老之间的第三距离。
在步骤S64,根据CFSFDP聚类算法,基于所述第一距离、第二距离和第三距离,计算所述多个第一店铺和至少一个第二店铺各自的局部密度ρ的值、与更高密度店铺的最小距离δ的值及其乘积γ的值。所述第一距离、第二距离和第三距离一起构成新的距离矩阵,从而可如上所述计算包括第一店铺和第二店铺的多个店铺的局部密度ρ的值、与更高密度店铺的最小距离δ的值及其乘积γ的值。
最后,在步骤S65,通过根据上述训练商圈判定模型的方法获取的ρ、δ及γ各自的调整后的阈值,针对所述多个第一店铺和至少一个第二店铺判定商圈。该步骤与图2中的步骤S23和图5中的步骤S53基本相同,在此不再赘述。
上述更新商圈判定的方法可每预定时段执行一次,例如每月执行一次,从而可定期更新对商圈的判定。并且该更新方法至少降低了两个量级的计算复杂度。
图7示出了根据本说明书实施例的一种训练商圈判定模型的装置700,包括:第一获取单元71,配置为,获取预定地理范围内的多个店铺各自的位置信息和所述多个店铺各自的商圈标注信息;第一计算单元72,配置为,根据CFSFDP聚类算法,利用所述位置信息,计算各个店铺的局部密度ρ的值、与更高密度店铺的最小距离δ的值及其乘积γ的值;第二获取单元73,配置为,根据ρ、δ和γ各自的当前阈值,获取各个店铺的商圈判定信息;第二计算单元74,配置为,利用所述多个店铺各自的商圈判定信息和商圈标注信息,计算全部所述商圈判定信息相对于全部所述商圈标注信息的相似度;以及阈值调整单元75,配置为,调整ρ、δ及γ各自的阈值,使得所述相似度提高。
图8示出了根据本说明书实施例的一种判定商圈的装置800,包括:获取单元81,配置为,获取预定地理范围内的多个店铺各自的位置信息;计算单元82,配置为,根据CFSFDP聚类算法,利用所述位置信息,计算各个店铺的局部密度ρ的值、与更高密度店铺的最小距离δ的值及其乘积γ的值;以及判定单元83,配置为,通过根据上述训练商圈判定模型的方法获取的ρ、δ及γ各自的调整后的阈值,针对所述多个店铺判定商圈。
图9示出了一种更新商圈判定的装置900,包括:第一获取单元91,配置为,获取预定地理范围内的多个第一店铺各自的第一位置信息和各个第一店铺之间的第一距离;第二获取单元92,配置为,获取所述预定地理范围内的至少一个第二店铺各自的第二位置信息;第一计算单元93,配置为,利用所述第一位置信息和第二位置信息,计算所述各个第二店铺之间第二距离、第二店铺中任一店铺与第一店铺中任一店铺之间的第三距离;第二计算单元94,配置为,根据CFSFDP聚类算法,基于所述第一距离、第二距离和第三距离,计算所述多个第一店铺和至少一个第二店铺各自的局部密度ρ的值、与更高密度店铺的最小距离δ的值及其乘积γ的值;以及判定单元95,配置为,通过根据上述训练商圈判定模型的方法获取的ρ、δ及γ各自的调整后的阈值,针对所述多个第一店铺和至少一个第二店铺判定商圈。
可通过计算Sil分数来评估根据本说明书实施例的商圈判定模型。可通过以下公式(9)-(11)计算SIL分数:
a(i)=avg(dij),xi,xj∈ck (10),
b(i)=avg(dij),xi∈ck,xj∈cp(11),
其中ck表示第k个聚类结果的集合,a(i)表示点i到圈内所有点的平均距离,b(i)表示点i到距离最近的商圈p内所有点的平均距离。假设各个商圈大小一致,此时位于两商圈分界处的点对应s(i)值为0,因此评估整体系数时,统计s(i)大于0的店铺所占比即为有效分类店铺数的占比,作为最终的SIL分数。通过该SIL分数评估,验证了根据本说明书实施例的商圈判定模型拥有较好的判定性能。
本说明书实施例方法只需在输入端获取全量店铺的地理位置信息,即可对其判定商圈,而无需人工的一一判定,经实测本方法的商圈覆盖率可达92.5%,其中未被覆盖店铺基本为孤立点或脏数据点。
本说明书实施例方法中使用的CFSFDP算法无需预先定义,而是通过阈值限定的方法直接求取商圈中心。
本说明书实施例方法从两个方面增强了稳定性:首先,使用已知的高准确率标注商圈信息预先训练出最优参数,保证了参数的稳定性;其次,在参数稳定的情况下,使用阈值限定的方式获取商圈中心,可保证在数据不变或改变较小的情况下,商圈发现结果的稳定。
另外,本说明书实施例方法引入基于城市分区和增量迭代的方式构建距离矩阵,利用了店铺演变的时序性,有效的降低了计算复杂度,实测中计算时间优化了约10倍。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。