返回列表

Private 6th Public 4th rank solution (Github link)

414. INGV - Volcanic Eruption Prediction | predict-volcanic-eruptions-ingv-oe

开始: 2020-10-12 结束: 2021-01-06 地球科学 数据算法赛
Private 第6名 Public 第4名 方案分享

Private 第6名 Public 第4名 方案分享

作者:Alexandre Blanchet
比赛:Predict Volcanic Eruptions - INGV OE

首先,我要感谢国家地球物理与火山学研究所和 Kaggle 举办这次比赛。我学到了很多东西。祝贺获胜者和所有参与者。

源代码可以在我的 github 上找到:https://github.com/Haha89/INGV-eruption-prediction

我的方案灵感来自这个 notebook https://www.kaggle.com/dkaraflos/1-geomean-nn-and-6featlgbm-2-259-private-lb,主要处理地震预测问题。

工作流程分为以下几个部分:

  • 特征工程
  • 模型介绍

特征工程

目的是增加关于时间序列的信息以对其进行表征。下面的列表并不详尽,但我为 10 个分段中的每一个都计算了以下特征:

  • 时间特征:
    均值、方差、振幅、分位数、滚动梯度振幅、峰值数量(使用 tsfresh)、自相关、过零率。
  • 频域特征:傅里叶变换的实部和虚部的均值/方差/振幅。
  • 倒谱特征:Mel 频率倒谱系数(20 个系数)。
  • 频谱特征:频谱对比度(spectral_contrast,7 个系数)。

所有这些特征都是针对每个传感器计算的(缺失值设置为 -1),并保存在本地 csv 文件中(训练集 + 测试集运行时间为 90 分钟)。

深度学习模型

我使用的模型包含一个 LSTM 层,后面跟着 3 个 Conv1D 层(参数分别为 128, 84, 64)。然后通过展平操作将数据送入 3 个全连接层(大小分别为 64, 32 和 1)。仅使用 ReLu 激活函数。

优化器是 Nadam,学习率为 5e-3,损失函数为 MAE。

最终提交的结果是对在训练集子集上训练的 8 个模型进行平均得到的。

希望这个总结有用,如果你想了解更多信息,请在下方评论。

Alex

同比赛其他方案