2017 摩拜杯算法挑战赛,第三名团队解决方案

比赛已经结束快两个月了,一直拖到现在才开始总结。

官网网址:https://biendata.com/competition/mobike/

GitHub源码:https://github.com/Magic-Bubble/Mobike

任务背景

  • 随着绿色出行和环保观念的深入人心,摩拜单车自推出以来不仅深受用户喜爱,也减轻了城市路网压力和拥堵情况
  • 摩拜致力于应用前沿科技帮助人们更好地出行,利用机器学习预测用户的出行目的地是众多应用场景中重要的一个
  • 目前,摩拜单车在北京的投放量已超40万,为更好地调配和管理这些单车,需要准确地预测每个用户的骑行目的地

任务目标

根据给出的300万的用户出行记录训练数据,对用户出行的目标地点进行预测

衡量指标

其中,|U|是需要预测的orderid总个数,P(k)是在k处的精度,n是地点个数。

评测函数代码请参考: https://github.com/benhamner/Metrics/blob/master/Python/ml_metrics/average_precision.py

数据说明

问题抽象

可以将其转化为一个二分类的问题,首先构造出当前订单可能会去的若干地方,然后用二分类的方式给每个候选地址进行打分,选择分数最高的top3集合即可。

候选目的地构建

  1. 样本预过滤。从海量候选集中筛选出最可能的候选样本,清理异常样本,减少样本规模,提高候选集的覆盖率和模型精度。比如用户常去的topN地方,以及从这个地点出发常去的topN地方等。
  2. 规则预过滤。定义规则过滤候选集,如距离等,超过某个距离的就过滤掉
  3. 起点漂移。将geohash区块临界8块区域记为同一区域,取该区域top连接数目的地。事实证明,这是我们整个方案的瓶颈所在,很多人找车不会在同一个地方找,而大概率可能也会去其附近的地方找车,所以这一步很有必要。

数据集构建

比赛给出的数据是连续两周的用户出行记录,需要预测后面一周的目的地。因此数据集的合理构建也十分有必要,构建方式如下:

具体地,是采用19号之前的为19号加特征,20号之前的为20号加特征,...,最终构建出19,20,21,22,23,24六天的数据作为训练数据。

特征构建

通过对数据的统计和挖掘,从如下两个视角进行特征的构建:

  1. 特征群。共有三个特征群,用户、时间和地点。其中,用户包含热启动和冷启动(之前没有过出行记录),时间包含周内、周末、小时、天等特征,地点包括经纬度、热度、方向等特征。
  2. 特征类型。主要包含五个部分,计数特征(比如用户到过这个地方多少次),距离角度特征(出发地到候选目的地的距离方向等),Label窗特征,比率特征(用户到这个地方占其出行次数的比率是多少)等。

模型训练及融合

采用经典的XGBoost和LightGBM进行训练,融合也非常简单,就是两个模型的概率相乘融合。

结果

训练细节

  1. 样本候选集覆盖率

2. 特征维度

特征重要性排序

总结

  1. 样本候选集的构建是整个比赛的瓶颈和突破点。我们和前面队伍的差距主要在于此,可以再多扩展一层,变成4*4的漂移区域
  2. 候选集的覆盖率提升很关键
  3. 特征基本上都差不多,没有什么强特征,维度太多不仅会影响速度,也可能拉低效果

总体来说,第一次参加数据挖掘类的比赛,还是收获很多!

原文发布于微信公众号 - AI研习社(okweiwu)

原文发表时间:2018-01-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏奇点大数据

谷歌大脑AutoML新进展:用进化算法发现神经网络架构

作者|谷歌大脑高级工程师 Esteban Real 编译|Debra 从 5 亿年前非常简单的蠕虫大脑到各种现代化结构,大脑经历了漫长的进化过程。如今,人类的大...

3815
来自专栏AI研习社

Machine Can See 2018 图像对抗攻击大赛比赛心得

AI 研习社按:这篇文章来自俄罗斯数据科学家、机器学习爱好者、创业公司的计算机视觉研究员 Alexander Aveysov。他参加了 2018 年度的「Mac...

1413
来自专栏IT派

Python机器学习入门到进阶

导语:Python 可以说是现在最流行的机器学习语言,而且你也能在网上找到大量的资源。你现在也在考虑从 Python 入门机器学习吗?本教程或许能帮你成功上手,...

4393
来自专栏AI科技评论

干货 | Machine Can See 2018 图像对抗攻击大赛比赛心得

AI 科技评论按:这篇文章来自俄罗斯数据科学家、机器学习爱好者、创业公司的计算机视觉研究员 Alexander Aveysov。他参加了 2018 年度的「Ma...

1512
来自专栏机器之心

业界 | 谷歌开源TensorFlow Object Detection API物体识别系统

选自Google Open Source 作者:Jonathan Huang 机器之心编译 参与:黄小天、李泽南 近日,谷歌在其开源博客上发表了一篇名为《Sup...

4328
来自专栏ATYUN订阅号

Ouster将相机与激光雷达融合,并更新了开源驱动程序

当Ouster三年前开始开发OS-1时,相机的深度学习研究超过了激光雷达研究。激光雷达数据具有令人难以置信的好处,丰富的空间信息和照明无法识别也能感应,但它缺乏...

6371
来自专栏人工智能快报

富士通推出优化深度学习应用的电路设计

据富士通公司官网报道,富士通实验室开发了一种具有唯一数值表示的电路技术,可以减少计算中使用的数据位宽,并能基于深度学习训练计算的特点,根据分布统计信息来自动控制...

2885
来自专栏大数据文摘

资源 | 跟着Sutton经典教材学强化学习中的蒙特卡罗方法(代码实例)

1407
来自专栏机器学习之旅

理论:FM理论解析及应用FM的产生背景one-hot过程什么叫做组合问题组合特征后的表达形式方程定义完成了,下面就要开始数学定义下面让我们来解这个式子引申一个FFM概念代码实现

我其实没有做过很多ctr预估的事情,但是我在工作中常常遇到CRM流失预估、订单预估这些依赖于特征工程的事情,其中就涉及到特征的组合问题。

983
来自专栏PaddlePaddle

【AI核心技术】课程十: AlexNet 深度学习关键突破

UAI与PaddlePaddle联合推出的【AI核心技术掌握】系列课程持续更新中!

1105

扫码关注云+社区

领取腾讯云代金券