Code of the winning entry to the Kaggle ECML/PKDD taxi destination competition. Our approach is described in our paper.

依赖性

我们使用了MILA实验室的这些包:

  • Theano. 通用的gpu加速python数学库,具有类似numpy的接口 (see [3, 4]). See http://deeplearning.net/software/theano/
  • Blocks.基于Theano的Python深度学习神经网络框架。 As Blocks evolves very rapidly, we suggest you use commit 1e0aca9171611be4df404129d91a991354e67730, which we had the code working on. See https://github.com/mila-udem/blocks
  • Fuel. A data pipelining framework for Blocks. Same that for Blocks, we suggest you use commit ed725a7ff9f3d080ef882d4ae7e4373c4984f35a. See https://github.com/mila-udem/fuel

对于均值漂移算法使用的sklearn,而其他地方也使用了 numpy, cPickle and h5py .

结构

对存档的python文件做出简要介绍:

  • config/*.py: 我们实验的不同模型的配置文件。其中 mlp_tgtcls_1_cswdtx_alexandre.py是结果最好的。
  • data/*.py : 与数据传输相关的文件:
    • __init__.py 包含一些关于数据的一般统计信息
    • csv_to_hdf5.py : 通过Fule将csv文件转化为hdfs文件。
    • hdf5.py : 处理HDFS文件的实用函数
    • init_valid.py : 初始化验证集或者测试集(validation set)的HDF5文件
    • make_valid_cut.py : 通过时间切分列表生成验证集(validation set)。切分列表被存储在python文件中。路径为 data/cuts/ (我们使用了一个切割文件)
    • transformers.py : 通过Fuel,将训练数据集转化为模型可用的结构。
  • data_analysis/*.py : 通过scripts对数据集进行各种各样的分析。
    • cluster_arrival.py : 通过script去生成均值漂移聚类的目的地中心点。产生了3392个聚类中心点。
  • model/*.py : 我们尝试过的各种模型的资源代码。
    • __init__.py 所有模型的公用代码,包含元数据嵌入代码。
    • mlp.py 所有MLP模型的公用代码
    • dest_mlp_tgtcls.py 输出层使用聚类点的MLP目的地预测代码。
  • error.py 基于Haversine Distance的误差计算函数。
  • ext_saveload.py 用于保存和重新加载模型参数的块扩展,防止训练中断。
  • ext_test.py在测试集上训练模型,产生csv文件输出的块扩展。
  • train.py 训练和测试的主代码。主函数

如何重现得奖结果?

prepare.sh,助手脚本,可以帮助运行1-6步并且做一些其他检查。但是如果中途遇到错误,script将从头开始执行。在训练之前的2.4.5步耗时很长。

注意,有些脚本希望存储库位于您的PYTHONPATH中(转到存储库的根目录,输入’ export PYTHONPATH= ’ PWD:PWD:PWD:PYTHONPATH ‘)。

  1. Set the TAXI_PATH environment variable to the path of the folder containing the CSV files.设置‘TAXI_PATH’环境变量为包含CSV文件的文件夹的路径。
  2. 运行 data/csv_to_hdf5.py "$TAXI_PATH" "$TAXI_PATH/data.hdf5" 产生HDFS文件 (存储位置在TAXI_PATH下). 这个过程大约需要20分钟。
  3. 运行 data/init_valid.py valid.hdf5 其初始化设置HDFS文件的变量
  4. 运行 data/make_valid_cut.py test_times_0 生成验证集(the validation set). 这个过程需要几分钟
  5. 运行 data_analysis/cluster_arrival.py 生成目的地位置聚类中心. 这个过程大约需要几分钟。
  6. 创建文件夹 model_data 和文件夹 output (next to the training script), which will receive respectively a regular save of the model parameters and many submission files generated from the model at a regular interval.它将分别接收定期保存的模型参数和从模型生成的许多提交文件。
  7. 运行 ./train.py dest_mlp_tgtcls_1_cswdtx_alexandre 训练模型。每1000个迭代,输出结果保存在 output/ .在任何时间,使用三个 Ctrl+C 即可中断模型. 训练脚本设定在10000次迭代后停止训练 but a result file produced after less than 2 000 000 iterations is already the winning solution. We trained our model on a GeForce GTX 680 card and it took about an afternoon to generate the winning solution.
    When running the training script, set the following Theano flags environment variable to exploit GPU parallelism:
    THEANO_FLAGS=floatX=float32,device=gpu,optimizer=fast_run

*More information in this pdf

Kaggle比赛之Artifical Neural Networks Applied to Taxi Destination Prediction代码整理相关推荐

  1. Kggle比赛之Artifical Neural Networks Applied to Taxi Destination Prediction

    Artifical Neural Networks Applied to Taxi Destination Prediction 摘要:本文主要是基于出租车轨迹对终点的预测.其中,数据为长度不同的来自 ...

  2. 下载 | 最新教程《Artifical Neural Networks》

    作者:哥德堡大学物理系 Bernhard Mehlig 教授 书名:<Artifical Neural Networks> 内容:结合统计物理学的知识详细讲述了机器学习中神经网络在物理学中 ...

  3. Artifical Neural Networks

    资料版权归原作者所有,资源链接仅供个人学习研究和交流使用,请下载后24小时内删除,如有侵权,请留言通知. https://andersen.pipipan.com/fs/1634288-3759114 ...

  4. Neural NILM Deep Neural Networks Applied to Energy Disaggregation

    论文代码地址:https://github.com/JackKelly/neuralnilm 摘要: 能源分解通过单个仪表估算设备的电力消耗,该仪表测量整个家庭的电力需求.最近,深度神经网络工作在相邻 ...

  5. 《ImageNet Classification with Deep Convolutional Neural Networks》 Alex Krizhevsky(AlexNet译文)

    原论文地址    caffe的实现    TensorFlow的实现 参考:AlexNet论文翻译与解读    alexnet 论文翻译 AlexNet论文 正文################### ...

  6. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](5)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](5) Graph Neural Networks 图神经网络 Now th ...

  7. Neural Networks and Deep Learning - 神经网络与深度学习 - Overfitting and regularization - 过拟合和正则化

    Neural Networks and Deep Learning - 神经网络与深度学习 - Overfitting and regularization - 过拟合和正则化 Neural Netw ...

  8. AlexNet论文翻译(中英文对照版)-ImageNet Classification with Deep Convolutional Neural Networks

    图像分类经典论文翻译汇总:[翻译汇总] 翻译pdf文件下载:[下载地址] 此版为中英文对照版,纯中文版请稳步:[AlexNet纯中文版] ImageNet Classification with De ...

  9. ImageNet Classification with Deep Convolutional Neural Networks论文翻译——中文版

    文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书 翻译论文汇总:https://github.com/SnailTyan/deep-learning-papers- ...

最新文章

  1. boost::mp11::mp_nth_element相关用法的测试程序
  2. 搭建基于hyperledger fabric的联盟社区(九) --检索状态数据库
  3. Asp.net Core 2.1新功能Generic Host(通用主机)深度学习
  4. springboot配置文件application.properties参阅文章
  5. Python多线程编程---(1)threading 模块 Thread 类
  6. 零基础逆向工程11_C语言05_结构体
  7. echarts官网折线图
  8. 牛客 彩虹 【经典状压dp】
  9. SQL SERVER “指定的网络名不再可用”
  10. SAP中常用SM系列事务代码总结
  11. MMC 事件查看器无法打开
  12. 【老罗笔记】哪来的天才——练习中的平凡与伟大
  13. Halcon常见错误
  14. 超全装饰 陈设ps后期素材素材网站整理
  15. js数组操作(push,pop,shift,unshift,slice,splice,concat,sort)
  16. SpringBoot调用SAP接口(搭建部署)
  17. 计算机与资源管理器有何区别,资源管理器与我的电脑有什么不同.PPT
  18. 关于飞鱼U3D主程/高级的招聘
  19. 计算机科学与技术考研辅导班,[独峰考研]清华大学计算机科学与技术考研辅导班-清华计算机系考研经验真题...
  20. NanoMsg框架|Android Studio编译NanoMsg源码

热门文章

  1. Oracle在中国的合作伙伴
  2. Win8.1自带“滑动关机” 小技巧教你开启隐藏功能
  3. python versions compatibility_有人通过Macports在Snow Leopard中安装了python26...
  4. 网络摄像头软件推荐Yawcam
  5. Revit:不过期启动“TR天正建筑 V5.0 2020”方法
  6. Like_Girl V5.0.0恋爱主题博客
  7. 设有一头小母牛,从出生第四年起每年生一头小母牛,按此规律,第N年时有几头母牛?
  8. 流行的 DAW编曲软件FL Studio 21 有什么新功能?
  9. pytorch yolov5 onnx推理
  10. Mysql添加用户设置权限