从零开始机器学习比赛经验(bird分享)

Posted 海盗Ora

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从零开始机器学习比赛经验(bird分享)相关的知识,希望对你有一定的参考价值。

 

视频地址:https://pan.baidu.com/s/1b25yNG

机器学习比赛入门条件

1.过的去的code能力:Leetcode平台

leetcode平台可以帮助我们提高基本的算法实现能力,比如写一个冒泡排序方法,写出来的代码简洁高效

2.参与比赛:Data Fountain,Kaggle,biendata,Data castle

经常发布一些比赛,可以挑一些感兴趣的参加

3.关注公众号:阅读代码(高手的分享)或者论文; 推荐两个@Datacatsle@爱可可

4.朋友和圈子(大腿),各种群

机器学习比赛流程

这里推荐的网址其实是一个博主的博客:http://blog.csdn.net/sinat_22594309/article/details/68951145

在这个博主的博客中谈到了很多有关于机器学习的经验,加关注,以后可以读

1.特征工程这个地方就是数据分析能力,有些人其实就是可以能够很好的将数据变化得到的新的特征,比如说将数据从低维空间映射到核空间或者高维空间就可以将原本无法分类的数据分开,这就是很好的新特征,我们不能把所有的数据多怼到模型上,比如神经网络还是随机森林,因为这些数据有可能量很大,或者很复杂,模型很难直接吃下这些数据得到很好的结果,所以需要我们先进行特征工程这一步,构造出合适的特征喂给我们的模型,从而得到更好的结果,这个就是很考验想法的一个环节,每拿到一个题目,你能根据场景分析到什么样的idea可以很好的构造特征解决这个问题。有的人光是考规则怼就能拿到很好的数据竞赛成绩 比如天池比赛的规则大神 桑榆 天音。总之,特征工程是核心竞争力,有经验的人讲数据进行log对数变化啊这种

2.模型选用:大数据比赛中常用的模型就是各种nn模型(cnn,rnn),随机森林,boost,等等

3.模型融合,就是利用迭代,boosting的方式训练模型,这种就是真的在比赛中才会用到的技巧,一点都不学术

 机器学习比赛进阶

个人学习经历

个人比赛分享

在分析数据的时候,你觉得自己是有什么想法能够让你在这个比赛中脱颖而出的,比如在这个比赛中,经纬度数据的处理就很关键,帮助博主bird在比赛中去的关键性的胜利。首先经纬度是一个二维的数据,他们合在一起表示一个位置,分开来是没有太大意义的,因此只有将经度和纬度耦合在一起成为一个特征,才能够提供有意义的信息。直接将两位数据扔给模型,模型是很难去吃透这个数据的

测试集与训练集同分布的意思是:在官方没有提供测试集的情况下,可以自己通过训练集构造线下测试集,两者同分布。同分布很重要,因为我们的数据都是统计数据,而且一般就算是大赛提供的 测试集也是跟训练集同分布的。

 

 

关于DL embedding搜索到的一些资料:、

(感觉嵌入层可以一定程度的降低特征工程的重要性?)

 

http://imgtec.eetrend.com/blog/10255(含有代码,解释,非常好的博客)

https://zhuanlan.zhihu.com/p/24252690

深度学习系列4: 为什么你需要使用嵌入层

https://juejin.im/post/599183c6f265da3e2e5717d2

 

通过可视化,发现相似的地点自动聚类在一起,说明博主利用geohash编码将经纬度划分为小方块的做法是正确的,将数据可视化是一种非常重要且好用的手段,让我们知道模型往哪个方向走

最后一些话:

 还有在这个比赛中,官方提供的最后的评价指标是MAPE(平均绝对 百分误差)但是这个作为评价直指标是不合理的其实,因为它只是一个相对值,

所以最后博主重写了MSE作为评价指标

准确率,召回率,F1 值、ROC,AUC、mse,mape评价指标:http://blog.csdn.net/a819825294/article/details/51699211

 

 

 

以上是关于从零开始机器学习比赛经验(bird分享)的主要内容,如果未能解决你的问题,请参考以下文章

从零入门机器学习之Linux系统详解

从零入门机器学习之Linux系统详解

从零入门机器学习之开宗明义:编程与数据思维

从零入门机器学习之开宗明义:编程与数据思维

从零入门机器学习之基础概念讲解:深入浅出讲解计算机基本概念

从零入门机器学习之基础概念讲解:深入浅出讲解计算机基本概念