Kaggle

警告
本文最后更新于 2021-09-08,文中内容可能已过时。

导学

赛题

  • 结构化(>50%): 规整,纬度固定
  • 自然语言
  • 语音识别
  • 计算机视觉

时间轴

  • entry deadline: 最晚参赛时间
  • team merger deadline: 最晚组队时间
  • final submission deadline: 最终提交截止时间

结构化

树模型

适用场景: 类别字段较多、聚合特征较多

XGBoost(2015)

https://xgboost.readthedocs.io/en/latest

  • 优点:提出时间较早的高阶树模型,精度较好
  • 缺点:训练时间较长,对类别特征支持不友好
  • 接口:sklearn接口和原生接口

LighGBM(2018)

https://lightgbm.readthedocs.io/en/latest

  • 优点:对节点分裂进行改进,速度有一定提升
  • 缺点:加入了随机性,精度和稳定性有所下降
  • 接口:sklearn接口和原生接口

CatBoost(2019)

https://catboost.ai/

  • 优点:支持类别和字符串分裂
  • 缺点:容易过拟合
  • 接口:sklearn接口和原生接口

数据集Dataset

training set test set:一般不能用来训练;可能分为AB榜单 validation set 只要有反馈,就有过拟合

模型集成

  • vote 投票
  • blend 加权
  • stacking 交叉验证中对模型进行多折训练

深度学习模型集成

  • dropout 随机删减网络结构
  • snapshot 集成多个局部最优

特征工程

决定了模型的精度上限

类别特征

  • Onehot:one-of-k,100、010、001 增加数据维度,一般适用于取值个数小于10
  • LabelEncoder:标号,不增加维度,默认字典顺序
  • Ordinal Encoding:可以手动给定编号
  • BinaryEncoder:二进制编码(压缩版 Onehot)
  • Frequency/Count Encoding:计数(训练集和测试集取值需要一致)
  • Mean/Target Encoding:帮助模型快速收敛,但很容易过拟合

数值特征

容易出现异常值和离群点

  • Round:取整(防止模型去学习细枝末节的规律)
  • Box/Bins:分类

日期字段

需要特殊处理(登录日志、消费时间)

0%