写个简单分享,作为第一次成功参加天池竞赛的纪念吧。
要完成的任务是:预测User处于哪个Shop
先看看是否能对User画像,数据探索一波发现相同用户去的还是比较少的。
那么考虑能否对Shop画像呢?(category,price不知道咋用)
两个方向,Shop的WiFi环境(WiFi_info),Shop的时空特征(time_stamp,longtitude,latitude),
那首先是对这个应用场景的思考,在实际生活里我们连接WiFi的场景以及WiFi的环境是什么样子的?
一个很简单的问题,在我们宿舍,四个人连接到的WiFi环境会不会是差不多的呢?
即每个人在不同地区连接到的WiFi取决于该点的WiFi的信号叠加(大概是这样),但在一个shop里,WiFi环境相对稳定
比如,我们宿舍的WiFi环境(AP)相对来说稳定,其反应为我们宿舍四个人都可以连到bssid/signal 都差不多的WiFi
那么其实可以发现只要通过User的记录确定宿舍里稳定
的WiFi环境就可以解决很多疑难杂症,
此处初步构造的稳定
的WiFi环境指的是bssid: signal
序列
那么该Shop的WiFi环境画像完成了一个骨架,继续考虑在这个序列里,不同bssid的WiFi是否会有不一样的重要性呢?
序列分析的三个方向嘛,频率/值大小/Rank,然后在这三个方向里用 统计方法/数值方法/算法方法(瞎jb搞方法)
通过User的信息,与Shop的一些属性进行交互,构造特征
在这道题里,针对bssid: signal
最直观的想法是(可能会有线性相关的)
对bssid的出现来说
1.bssid的出现频率(该bssid对shop的贡献 count(wifi_shop)/count(shop),该bssid对wifi的贡献 count(wifi_shop)/count(shop))
2.bssid在shop_id出现且强度偏差某个值的记录个数以及比例
3.signal在shop_id出现在同Rank的情况下且强度偏差某个值的记录个数以及比例
4.bssid在shop_id出现在同Rank的情况下的记录个数以及比例
对bssid对应的signal来说
1.signal在该店铺出现过的所有值的,和值/均值/中位数/众数/历史最大值/方差
2.signal在全部WiFi环境中出现过的,和值/均值/中位数/众数/历史最大值/方差
3.signal的和值(统计WiFi在该shop的强度总贡献量中的比例,统计该shop中Wifi的强度总贡献量中的比例)
4.signal的均值(统计WiFi在该shop的强度均值在总均值的比例,统计该shop中WiFi的强度总贡献量中的比例)
5.signal的众数(反映的是用户出现次数最多的地方)
6.signal的最大值(反映的是用户出现过的离AP最近的地方)
7.signal的方差(该WiFi的稳定程度)
对bssid: signal的序列来说
- LCS(最长公共子序列)
- Rank相似程度(逆序数)
- 交集个数
- 强度距离
- Rank的平均距离
构造shop的环境方法一般有两种
1.简单加权signal,count,rank
2.拟合分布的模型(高斯分布,伯努利分布)
整个思路就是怎么把WiFi的特征尽可能地表达出来,减少信息损失。
第二是Shop的时空特征
时间上
首先可视化一下,发现周末/工作日的峰值有差异 (双模型)
再发现工作日基本上可以分 饭点/非饭点
以及该shop的营业时间 啥时候开门 啥时候关门
分时间段来说 该shop的哪段时间人流量更多
还可以和WiFi放在一起考虑
空间上经纬度就行了
直接上特征吧。
第一组特征 对该记录的Top 10 Wifi_signal
统计Wifi在该shop的强度总贡献量中的比例 10 (Σsignal_i(in_shop)/ΣΣsignal(shop_all))(取-)
统计该shop中Wifi的强度总贡献量中的比例 10 (Σsignal_i(in_shop)/ΣΣsignal(wifi_all))(取-)
以及 Wifi_signal的Top 15的均值,和值 2
Wifi Signal的最大值/最小值在强度之和中的比例 2 (signal_i/Σsignal)
第二组特征 对该记录的Top 10 Bssid_count
统计 Bssid在shop_id出现且强度偏差+-5的记录个数以及比例 5+5
统计 count(wifi_shop)/count(wifi) 10
统计 count(wifi_shop)/count(shop) 10
第三组特征 对该记录的Top 10 强度序列
统计 强度序列在shop_id的LCS/逆序对/交集个数/强度距离(曼哈顿)/Jaccard 4
统计 强度序列中WiFi在整个环境的方差 1
统计 强度序列中某个bssid在shop_id中的方差 1
统计 Signal在shop_id出现且强度偏差+-5的同Rank的个数以及比例 5+5
第四组特征 对该记录的time_stamp
统计 工作日/非工作日 (双模型) 1
统计 出行时间(在shop_id中的人流量概率) 1
统计 在某小时内该Wifi的强度与该小时中所有强度比值 1
统计 在某小时内该Wifi的出现次数与该小时总出现次数的比值 1
统计 营业时间(在shop_id中是否开门) 1
第五组特征 对该记录的经纬度
统计 店铺与用户的经纬度曼哈顿距离 1