kaggle: Facebook V Predicting Check Ins
数据抽样
将数据分成块(chunk),便于最近邻计算
特征工程(430)
k=2500,选取前100个候选地点
-
与坐标有关的特征
- XGboost特征:(记录最近邻点的地点分布情况)
最近邻(10个):k=1,5,10,20,50,100,250,500,1000,2500; xy比例(7个):r=1, 2.5, 4, 5.5, 7, 12, 30 - 空间密度(10个):(k, r=2.5)空间密度特征
- 空间距离(5*8):待测点到最远最近邻点距离/k
k= 35, 75, 100,175, 375, r = 0.4, 0.8, 1.3, 2, 3.2, 4.5,6, 8 - 平滑的密度特征:密度曲线,其他密度特征
- xy值与中位数的偏差的均值:mean(x-median(x));mean(y-median(y))
- xy值与中位数的偏差的标准差:std(x-median(x));std(y-median(y))
- MAD:median(|x-median(x)|)
- 拉古拉斯变化平滑
- 松弛常数
- XGboost特征:(记录最近邻点的地点分布情况)
-
与时间有关的特征(10*7)
默认时间戳以分钟为单位,转为为以天、周、月为单位- 待测点时间与(k,r)组内平均时间之差
- 时间序列模型:ARIMA、指数平滑推测周密度分布
常用的时间序列模型有四种:自回归模型 AR(p)、移动平均模型 MA(q)、自回归移动平均模型 ARMA(p,q)、自回归差分移动平均模型 ARIMA(p,d,q) - summary特征
- 最后一次登录的时间
-
与准确性有关的特征
准确性与位置、时间有关- 准确性的密度曲线,三个峰,考虑三种不同的位置获取方式:GPS、wifi、基站
- 准确性(与位置相关)的密度分布特征:均值、方差
- 准确性(与时间相关)的特征:不同时间段的准确性密度曲线
z值(标准化值)
(x-mean(x))/MAD
候选地点筛选(第一阶段学习)
- 构建15个xgboost模型,100个候选地点->20个候选地点
- 100个xgboost模型训练:
75个xgboost+1/5数据+20个候选地点信息
25个xgboost+100个候选地点信息
第二阶段学习
30个xgboost模型整合:第一阶段100个xgboost模型+21个原始特征(如,xy值、时间特征、准确性原始值,使得验证集与public board成绩更一致)
30个xgboost模型结果取均值