Git Product home page Git Product logo

2020dcic_a_rank7_b_rank12's Introduction

2020DCIC-智慧海洋建设算法赛方案分享(初赛排名7,复赛排名12)

比赛链接:https://tianchi.aliyun.com/competition/entrance/231768/introduction
队伍名:抗毒救灾,成绩:初赛Rank7,复赛Rank12

1. 赛题简介

题目给定某搜渔船的位置序列,预测该渔船的作业类型,作业类型分为:围网、刺网和拖网三种。

简单来说就是一个序列分类的问题,提取人工序列特征+lightGBM,以及embedding+NN是比较常见的思路。我们的思路也是分别构建人工特征的树模型和embedding特征的神经网络模型,然后进行融合。

2. 序列特征和树模型

序列特征主要包含4类:位置类、状态类、轨迹类和其它类

位置类主要包含经纬度、极坐标等绝对位置序列的统计量特征(平均值、中位数、最大值、最小值等);

状态类主要包含渔船速度、转速序列的统计量特征;

轨迹类主要包含曲率半径序列、凸包面积等;

其它类主要包含时间方面的统计特征,开始时间,结束时间等;

==这题很容易线上线下不一致,特征需要好好筛选,不能保留过多的相似特征,特征不能做得太细,否则线上很容易崩。==

而后通过lightGBM模型进行训练,最终单模线上为0.8941

3. Embedding特征和神经网络模型

这里主要借助了TextCNN的结构,在Embedding部分进行了改进,我们将经度、纬度、速度、方向、时间这一五元组看成一个状态,对状态进行离散化并分桶,通过word2vec算法对每个桶的特征表达进行预训练。对于每艘船的某一状态,进行桶特征映射后拼接它们以得到该状态的特征编码,以此得到船在每一时刻的状态特征表示,然后送入CNN进行学习。

最终单模线上成绩为0.8554

4. 模型融合

很明显单模lgb比单模nn好很多,这里可能是由于nn过拟合、数据分布等因素,我们没有多做研究(初赛时一个0.88的lgb和一个0.82的nn融合出了0.89+的结果,很迷),模型融合时可以适当调大lgb的权重,减小nn的权重以得到更好的融合收益。

我们选择训练10折lgb和5折nn,然后直接平均,由于lgb的折数更多,因此相当于权重更大。

最终A榜线上成绩为0.9000,排名7;B榜线上成绩为0.8859,排名12。

代码等都在项目中,按照run.sh的执顺序就好(如果有数据的话),欢迎一起交流学习以及组我打比赛,QQ:793729558!

2020dcic_a_rank7_b_rank12's People

Contributors

wudejian789 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.