“
商场中精确定位用户所在店铺大赛”于12月11日结束了复赛,排行榜第一名为“演员”团队,其队员drop-out在天池开源了其在本次大赛的代码。
大家可以在天池技术圈感受大佬优雅的代码。在这里跟大家分享本次参赛的思路:
这是一个室内定位问题。给定交易时的环境信息(包括GPS、wifi信息),确定交易所处的商铺。
在训练集划分上,我简单的将训练数据的最后七天划分为训练区间,此前的作为特征提取区间。
线上预测时使用全部数据作为特征提取区间。
本地验证时,直接从训练集中拿出最后三天作为验证集。本地验证时不更新特征提取区间(即仍然使用7.1-8.24作为特征提取区间),降低了实现上的复杂性。
二分类方案概述
二分类方案,即针对测试集中的每一条记录,构造候选shop集合,用模型输出每个候选的概率值,然后选取概率值最大的作为该条记录的预测shop。训练集和测试集的构造方法图示如下:
训练:
测试:
全集候选与负样本抽样
一般的思路是先用规则构造候选,然后在候选集中利用模型输出概率值。这样需要同时兼顾候选集合的
覆盖率
和预测模型的
准确率
,实现上较为复杂。我的模型中,直接选取目标mall中所有的shop作为候选,大大降低了模型的复杂程度。
同时,为了避免训练集数据量过大,可以在训练集中进行样本抽样。具体方法是,保留全部正样本,负样本中随机抽取一定比例加入训练集。实际测试,抽样对于模型的精度影响不大。
特征
标记特征
-
记录中是否有连接的wifi记
-
录中是含否有
null
-
记录中wifi与候选shop出现过的wifi重合的个数
"总量-比例"特征
-
该mall的总历史记录数、候选shop在其中的占比
-
该user的总历史记录数、候选shop在其中的占比
-
wifi历史上出现过的总次数、候选shop在其中的占比
-
在当前排序位置(如最强、第二强、第三强...)上wifi历史上出现过的总次数、候选shop在其中的占比