天池大赛-用户在商场中的定位

赛题回顾

这是一个室内定位问题。给定交易时的环境信息(包括GPS,wifi信息),确定交易所处的商铺。详情可参见比赛页面


knn方案概述

针对测试集中的每一条记录,构造候选shop集合,用模型输出每个候选的概率值,然后选取概率值最大的作为该条记录的预测shop,即二分类。训练集和测试集的构造方法图示如下:

训练

row_id 候选 特征 label
1 shop_1 ... 1
1 shop_2 ... 0
1 shop_3 ... 0
2 shop_1 ... 0
2 shop_2 ... 1
2 shop_3 ... 0

测试

row_id 候选 特征 输出概率 预测
3 shop_1 ... 0.6  
3 shop_2 ... 0.8  
3 shop_3 ... 0.9
4 shop_1 ... 0.1  
4 shop_2 ... 0.9
4 shop_3 ... 0.2

直接选取目标mall中所有的shop作为候选。

为了实现室内定位,采取平面定位结合纵向定位方式进行实现。


特征

平面定位特征

  1. mall
  2. 与候选shop的GPS距离

纵向定位特征

  1. wifi强度最大的(或者连接这的)wifi及其强度
  2. wifi强度第二大的wifi及其强度
  3. wifi强度第三大的wifi及其强度

k值的选取

较多情况下,目标商铺所在位置如下表。每一行代表一层楼。

商铺1 商铺2 商铺3
商铺4 目标商铺 商铺5
商铺6 商铺7 商铺8

即有可能受到干扰的且最近的wifi信号。因此k值取值不低于9。这里取21。


遇到的问题

  1. SQL不支持循环,需要对500个mall分别处理
  2. wifi信号太多,且存在信号强度为null的数据

处理方案:

  1. 采用分区表实现分mall。避免太多表的存在,容易出错。对每个mall放到多个窗口中同时跑。
  2. 只选取出现次数大于20次的wifi,对于null的数据,当做干扰,直接删除

猜你喜欢

转载自blog.csdn.net/gemnwing/article/details/81781971