天天跟数据打交道的研究人员,都有一个成为Kaggle顶级大师(Grandmaster)的梦想。

但每年的Kaggle参赛团队众多,通常一个项目都有数千人至上万人报名,如何在其中脱颖而出?

最近,自动化数据准备及协作平台Dataland的联合创始人Lavanya Shukla,在博客上分享了她在Kaggle竞赛中最终成为0.3%的获奖经验。

小姐姐在推特中表示,这份攻略里全都是干货,网友纷纷为其点赞。有网友表示,这份攻略非常棒,才知道脊回归如此强大!

*先放上原文地址:*

*https://www.kaggle.com/lavanyashukla01/how-i-made-top-0-3-on-a-kaggle-competition*

量子位将小姐姐的干货要点翻译整理如下,长文干货预警,建议先码后看:


开始一场数据科学竞赛是一项庞大的工作,所以我写了这篇在Kaggle经典房价预测题目(Advanced Regression Techniques)中获得TOP 0.3%成绩的比赛经验。

欢迎大家fork这份干货,也欢迎在实际问题中亲自实践这些代码。

祝你好运!

目标

  • 数据集中每一行都描述了房子的特征。

  • 我们的目标是根据这些特征,预测销售价格。

  • 评估模型好坏是根据模型预测的销售价格与实际销售价格之间的均方根误差(RMSE)。将RMSE转换成对数尺度,确保预测昂贵房屋和便宜房屋时的误差会对产生的分数影响相当。

模型训练过程中的关键特性

  • 交叉验证:使用12折交叉验证。

  • 模型:每次交叉验证拟合7个模型(包括ridge、svr、gradient boost、random forest、xgboost、lightgbm regressors等)

  • 堆叠:此外,我用xgboost训练了一个元StackingCVRegressor。

  • 混合:所有训练过的模型在不同程度上都存在对训练数据的过拟合。因此,为了做出最终的预测,我将它们的预测混合在一起以得到更可靠的预测。

模型表现

从下图可以看出,混合模型的RMSLE(均方根对数误差)为0.075,远优于其他模型。

这是我用来做最终预测的模型:

现在我们已经知道了一些信息,可以开始着手了:

EDA

目标

数据集中每一行都描述了房子的特征。

我们的目标是根据这些特征预测销售价格。

销售价格:我们打算预测的变量

特征处理

我们先将数据集中特征进行可视化:

并绘制出这些特征之间的关系,以及它们与销售价格的关系。

让绘制销售价格与数据集中的一些特性之间的关系。

特征工程

来看一下房子售价的分布情况。

可以看出,销售价格在右边倾斜,这是因为大多数ML模型不能很好地处理非正态分布数据。

我们可以应用log(1+x)变换来修正倾斜。

再画一次销售价格的分布:

现在,销售价格是正态分布的了。

添补缺失值

现在,我们可以为每个特性添加缺失的值。

这样一来,这不就没有缺失值了……

解决倾斜特征

我们用scipy函数boxcox1p来计算Box-Cox转换。我们的目标是找到一个简单的转换方式使数据规范化。

现在,所有的特种看起来都是正态分布的了。

创造有趣的特征

ML模型很难识别更复杂的模式,所以我们可以基于对数据集的直觉创建一些特征来帮助我们的模型,比如,每个房子地板总面积、浴室和门廊面积。

特征转换

我们通过计算数值特征的对数和平方变换来创建更多的特征。

编码分类特征

因为大多数模型只能处理数字特征,所以采用数字编码分类特征。

重新创建训练和测试集

可视化我们要训练模型的一些特性。

训练模型

设置交叉验证并定义错误度量

设置模型

训练模型

获得每个模型的交叉验证分数。

混合模型逼格得到预测值

确定性能最佳的模型

从上图中我们可以看出,混合模型的RMSLE为0.075,远远优于其他模型。这是我用来做最终预测的模型。

提交预测值

传送门

文章原文:

https://www.kaggle.com/lavanyashukla01/how-i-made-top-0-3-on-a-kaggle-competition

小姐姐的博客:

https://lavanya.ai/

— 完 —

Kaggle大牛小姐姐自述:我是怎么成为竞赛中Top 0.3%的 | 干货攻略的更多相关文章

  1. 良许被百万大V安排得服服帖帖,还跟美女小姐姐合影了……

    大家好,我是良许. 很多人问我说,良许,你在工作之余还花这么多时间精力去写公众号运营自媒体,到底是为了什么? 其实原因很简单,就是想做个副业,万一到了 35 岁真的失业了,我至少还有另外一份收入,不至 ...

  2. Lottie 动画里有图片怎么办?设计师小姐姐也能帮你减少开发量!

    一.序 Hi,大家好,我是承香墨影! Lottie 是 Airbnb 开源的一套跨平台的完整解决方案,设计师只需要使用 After Effectes (之后简称 AE)设计出动画之后,使用 Lotti ...

  3. 小姐姐教你定制一个Logstash Java Filter

    Logstash是用来收集数据,解析处理数据,最终输出数据到存储组件的处理引擎.数据处理流程为: Logstash Java Filter 就是基于Logstash的Filter扩展API开发一个用J ...

  4. 这届 Showgirl行不行?AI告诉你谁是ChinaJoy上最漂亮的小姐姐

    摘要: CJ开幕,顶着三伏天的酷暑高温,暴走一整天,就为了拍点漂亮小姐姐给大家看看. 一年一度的游戏视觉盛宴又来了! 作为一个游戏动漫控的肥宅,去CJ现场是必须的.除了看看游戏和动漫,各大游戏展台漂亮 ...

  5. scrapy爬虫爬取小姐姐图片(不羞涩)

    这个爬虫主要学习scrapy的item Pipeline 是时候搬出这张图了: 当我们要使用item Pipeline的时候,要现在settings里面取消这几行的注释 我们可以自定义Item Pip ...

  6. MIP技术进展月报第3期:MIP小姐姐听说,你想改改MIP官网?

    一. 官网文档全部开源 MIP 是一项永久的开源的项目,提供持续优化的解决方案,当然官网也不能例外.从现在开始,任何人都可以在 MIP 官网贡献文档啦! GitHub 上,我们已经上传了 <官网 ...

  7. Python3实现自动点赞抖音小姐姐

    什么是抖音 抖音是2016年9月上线的一款音乐创意短视频社交软件,是一个专注年轻人的15秒音乐短视频社区.用户可以通过这款软件选择歌曲,拍摄15秒的音乐短视频,形成自己的作品. 效果 抖音经常能刷到很 ...

  8. Python 抖音机器人,论如何在抖音上找到漂亮小姐姐?

    只有想不到,没有做不到,最近抖音风靡好友圈,马上就有技术宅本着“代码改变世界”的理念开始了搞事之路. 需要注意的事,漂亮不漂亮没有明确的界限,每个人都有每个人的审美,只有外表而没有心灵的美也是空洞的. ...

  9. 牛客寒假算法基础集训营3处女座和小姐姐(三) (数位dp)

    链接:https://ac.nowcoder.com/acm/contest/329/G来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言52428 ...

随机推荐

  1. 事务Transaction

    目录 为什么写这系列的文章 事务概念 ACID 并发事务导致的问题 脏读(Dirty Read) 非重复读(Nonrepeatable Read) 幻读(Phantom Reads) 丢失修改(Los ...

  2. Python——13定制类

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  3. Python:turtle库的使用及图形绘制

    目录 一.绘制一个八边形 二.绘制一个八角图形 三.简述问题 四.循环程序设计 五.绘制一个自己喜欢的图形 一.绘制一个八边形 使用turtle库,绘制一个八边形 代码: from turtle im ...

  4. APM监控工具Pinpoint搭建

    一:Pinpoint简介与架构图示 Pinpoint是什么Pinpoint是开源在github上的一款使用JAVA语言编写的APM监控工具,用于大规模分布式系统监控.它对性能的影响较小,只增加约3%的 ...

  5. 图解Python网络编程

    返回目录 本篇索引 (1)基本原理 (2)socket模块 (3)select模块 (4)asyncore模块 (5)asynchat模块 (6)socketserver模块 (1)基本原理 本篇指的 ...

  6. 前端每日实战:123# 视频演示如何用纯 CSS 创作一架双冀飞机

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/yxVYRL 可交互视频 此视频是可 ...

  7. angular的开始历程

    开始写angular了,抑制不住的开心,比react差点开心,vue开始太虐 喜欢一个人要不要表个白?其实也没啥资格喜欢~!!考虑一段时间吧 9.29表白了,嗯,被拒绝的干脆利落 为他写了一首小诗歌, ...

  8. 量子计算机编程(二)——QPU基础函数

    第二部分主要是QPU的基础功能,第一部分就像是我们有了哪些基本的语句,第二部分就是我们能写一些简单基础的函数,一些小模块,第三部分就是他的应用了. 先来看一下一个简单量子应用的结构: 第一步,将量子态 ...

  9. # 爬虫连载系列(1)--爬取猫眼电影Top100

    前言 学习python有一段时间了,之前一直忙于学习数据分析,耽搁了原本计划的博客更新.趁着这段空闲时间,打算开始更新一个爬虫系列.内容大致包括:使用正则表达式.xpath.BeautifulSoup ...

  10. plantUML最佳实践

    plantUML 使用plantUML中的活动图用来画流程图很好用; 但类图等就不很好用; 个人体会如下: • 时序图 推荐 • 用例图 一般 • 类 图 不推荐, 用Visual Paradigm或 ...