一种基于大数据的商铺定位方法
技术领域
本发明涉及机器学习、大数据处理技术领域,尤其基于多模型融合商铺定位算法。
背景技术
传统的定位用户所在商铺的方法是通过GPS获得用户的位置从而计算出用户与商铺的距离。但一个商城内的各个商铺距离不远,位置可能出现重叠,这个时候仅仅用GPS定位用户所在商铺可能会存在不精确的问题。基于仅仅使用GPS无法准确定位用户所在商铺,进行了本发明创造。
发明内容
为了解决上述问题,本发明提供一种基于大数据的商铺定位方法对用户在商铺内交易数据和商铺信息数据进行分析,旨在有效地定位用户在哪一家商铺,进而促使商家能够在在正确的时间、正确的地点给用户最有效的服务,具有一定的实现意义。
鉴于此,本发明的技术方案如下:一种基于大数据的商铺定位方法,其特征在于,包括以下步骤:
101.对用户的交易数据进行预处理操作。
102.根据记录时间把预处理后的数据划分为训练集和测试集。
103.构建每条样本的候选集。
104.根据当前该用户是否在该商店,对数据进行打标操作。
105.对训练集和测试集进行特征工程构建操作。
106.对经过特征工程构建的数据建立多个机器学习模型,并进行模型融合操作。
107.通过步骤106已建立的模型,根据用户的经纬度、所连接的WiFi信息定位用户所在商铺,使得商家能够在正确的时间、正确的地点给用户最有效的服务。
进一步,所述对数据进行预处理操作:数据预处理包括用户在商铺内交易数据和商铺信息数据的处理,根据数据表的描述以及物理理解进行如下处理:
①对异常值进行清洗;
删除原始数据集中用户当前位置与店铺位置距离太大的样本,删除WiFi信息中强度为空的WiFi以及强度为正值的WiFi。
②由于商铺信息数据中的经纬度存在测量不准确的问题,商铺信息数据的经纬度以用户在商铺内交易数据中该商铺的所有经纬度的中位数代替。
首先将所有经度按强度从小到大排序:
longitude1≤longitude2≤longitude3≤…≤longituden
则商铺的经度确定为:
商铺的纬度也用同样的方法修正。
进一步,根据用户在商铺内交易数据的分析以及预测时间段,找到合适的时间划分区间,采用时间窗划分方法把用户在商铺内交易数据划分为训练集和测试集。训练集的历史区间为Day1~Day7,标签区间为Day8~Day14,测试集的历史区间为Day8~Day14,标签区间为Day15~Day21。
进一步,根据用户在商铺内交易数据中每条样本强度最大WiFi所对应的某商铺的次数,选择出每条样本该次数最多的10个商铺作为候选集,不足10个的以距离该条样本最近的几个商铺填充。
进一步,所述对数据进行打标操作:若候选集中的商铺与该条样本的商铺名称一致则打标为1,其余打标为0,控制正负样本比为1:9。
进一步,根据对用户在商铺内交易数据和商铺信息数据的分析,对训练集和测试集进行特征工程构建;指对用户历史行为数据构建基础特征、多分类概率特征、交叉特征等;
所述基础特征是指:当前用户距该商铺的距离、所连最强WiFi对应该商铺的次数,用户、商铺、用户-商铺所发生的交易次数总和及其均值、方差;用户活动半径,商铺覆盖半径,用户经常连接强度第几的WiFi。
所述多分类概率特征是指:在原始的用户在商铺内交易数据中,将每条样本所连所有WiFi进行离散作为特征,将每条样本中该WiFi的强度作为该离散WiFi特征的值,空值以-999代替,将该条样本的商铺作为标签,调用XGBoost多分类模型,输出该条样本位于每个商铺的概率,与训练集、测试集进行连表操作得到每条样本的多分类概率特征。
所述交叉特征是指:挖掘基础特征之间的关系,用户在该商铺的交易次数在所有商铺的交易次数的占比,用户活动半径占商铺覆盖半径的占比。
在上述步骤的基础上,用构建完特征的训练集去训练11个lightGBM模型。
lightGBM模型分别基础特征、多分类特征、交叉特征进行特征选择,按照特征重要性排序,在基础特征中选取特征重要性大于0的特征,在多分类特征中选取特征重要性大于0的特征,在交叉特征中选取特征重要性大于0的特征。lightGBM模型参数在默认参数乘以随机系数,系数范围为0.8~1.2,从而生成11个不同的lightGBM模型。这些lightGBM模型以stacking进行模型融合,用线性回归以五折交叉拟合每一折得到5个系数,以这5个系数的均值作为该lightGBM的融合系数作为stacking的第一层,再以这多个lightGBM模型进行训练,得到11个lightGBM的预测结果,将预测结果乘上各自的融合系数,求和得到最终概率。过程如下:
①分别对11个模型调用线性回归得到每一折的预测结果。其中ym_npredic表示第m个模型第n折的预测结果,wm_n_z表示第m个模型的第n折的第z个线性回归系数,xk表示第k个特征,k的取值范围为1到所提取的特征数量:
……
②将11个模型的预测结果作为x,该训练集每一折的真实标签作为y,再次调用线性回归模型,其中yn fold表示第n折的真实标签,wm_n表示第m折的第n个线性回归系数:
③则11个模型最终的融合系数为:
……
选择当前用户所在最大概率的商铺作为最终定位结果推荐给***,使得商家能够在在正确的时间、正确的地点给用户最有效的服务。
本发明弥补了仅仅使用GPS无法准确定位用户所在商铺的问题。具有以下有益技术效果:
①创造性地在GPS定位的基础上引入WiFi进行定位,使定位更加准确;
②某些商铺往往较大,经纬度无法完全代表该商铺的位置;于是将商铺的经纬度用商铺内的用户的经纬度的中位数进行替换,使商铺的经纬度更准确;
③根据提出的规则构建了候选集,降低了机器学习的复杂度;
④根据WiFi信息使用多分类构造了概率特征,很好地使用到了WiFi的信息同时使模型不至于太复杂;
⑤通过stacking进行模型融合,使模型更加准确和健壮。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供一种基于大数据的商铺定位方法的流程图;
图2为本发明实施例一提供基于一种基于大数据的商铺定位方法中lightGBM模型的流程图;
图3为本发明实施例一提供一种基于大数据的商铺定位方法中多模型融合的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1,图1为本发明实施例一提供基于大数据的商铺定位方法的流程图,具体包括:
101.收集用户在店铺内交易数据并对数据进行预处理操作:收集用户在商铺内交易数据、商铺信息数据,具体如下:
收集用户在商铺内交易数据包括用户ID、商铺ID、行为时间戳、行为发生时的经度、行为发生时的纬度、行为发生时的WiFi环境。
表1用户在店铺内交易数据
收集商铺信息数据包括商铺ID、商铺类型ID、商铺经度、商铺纬度、人均消费指数、商城ID。
表2商铺信息数据
数据预处理包括用户在商铺内交易数据和商铺信息数据的处理,根据两个数据表的描述以及物理理解进行如下处理:
①对异常值进行清洗,例如删除原始数据集中用户当前位置与店铺位置距离太大的样本,删除WiFi信息中强度为空的WiFi以及强度为正值的WiFi。
②由于商铺信息数据中的经纬度存在测量不准确的问题,商铺信息数据的经纬度以用户在商铺内交易数据中该商铺的所有经纬度的中位数代替。
首先将所有经度按强度从小到大排序:
longitude1≤longitude2≤longitude3≤…≤longituden
则商铺的经度确定为:
102.根据记录时间把预处理后的数据划分为训练集和测试集:根据用户在商铺内交易数据的分析以及预测时间段,训练集的历史区间为Day1~Day7,标签区间为Day8~Day14,测试集的历史区间为Day8~Day14,标签区间为Day15~Day21;
103.根据一定规则构建每条样本的候选集:二分类算法应用在该问题上的思路是原始数据集中每条样本都打标为1,每条样本的商铺所在商城中的其他商铺打标为0,如此正负样本比达到1:500。为了控制正负样本比,为每条样本构造候选集,先挑选出那些最有可能的商铺。根据用户在商铺内交易数据中每条样本强度最大WiFi所对应的某商铺的次数,选择出每条样本该次数最多的10个商铺作为候选集,不足10个的以距离该条样本最近的几个商铺填充。
104.根据当前该用户是否在该商店对数据进行打标操作:若候选集中的商铺与该条样本的商铺名称一致则打标为1,其余打标为0,控制正负样本比为1:9。
105.对训练集和测试集进行特征工程构建操作:
①基础特征:当前用户距该商铺的距离、所连最强WiFi对应该商铺的次数,用户、商铺、用户-商铺所发生的交易次数总和及其均值、方差等;用户活动半径,商铺覆盖半径,用户经常连接强度第几的WiFi;
②多分类概率特征:在原始的用户在商铺内交易数据中,将每条样本所连所有WiFi进行离散作为特征,将每条样本中该WiFi的强度作为该离散WiFi特征的值,空值以-999代替,将该条样本的商铺作为标签,调用XGBoost多分类模型,输出该条样本位于每个商铺的概率,与训练集、测试集进行连表操作得到每条样本的多分类概率特征;
③交叉特征:挖掘基础特征之间的关系,比如用户在该商铺的交易次数在所有商铺的交易次数的占比;
106.对经过特征工程构建的数据建立11个机器学习模型,并进行模型融合操作(参见图2和图3):lightGBM模型分别对基础特征、多分类特征、交叉特征进行特征选择,按照特征重要性排序,在基础特征中选取特征重要性大于0的特征,在多分类特征中选取特征重要性大于0的特征,在交叉特征中选取特征重要性大于0的特征。lightGBM模型参数在默认参数乘以随机系数,系数范围为0.8~1.2,从而生成11个不同的lightGBM模型。这些lightGBM模型以stacking进行模型融合,用线性回归以五折交叉拟合每一折得到5个系数,以这5个系数的均值作为该lightGBM的融合系数作为stacking的第一层,再以这多个lightGBM模型进行训练,得到每个lightGBM的预测结果,将预测结果乘上各自的融合系数,求和得到最终概率。过程如下:
①分别对11个模型调用线性回归得到每一折的预测结果。其中ym_npredic表示第m个模型第n折的预测结果,wm_n_z表示第m个模型的第n折的第z个线性回归系数,xk表示第k个特征,k的取值范围为1到所提取的特征数量:
……
②将11个模型的预测结果作为x,该训练集每一折的真实标签作为y,再次调用线性回归模型,其中yn fold表示第n折的真实标签,wm_n表示第m折的第n个线性回归系数:
③则11个模型最终的融合系数为:
……
107.通过已建立的模型,根据用户的经纬度、所连接的WiFi信息等数据定位用户所在商铺:选择当前用户所在最大概率的商铺作为最终定位结果推荐给***,定位结果的精度可达92%以上,使得商家能够在在正确的时间、正确的地点给用户最有效的服务。