数据科学比赛步骤

文章原地址
原作者:Linghao Zhang

1. 直观感受

  • pandas 导入数据
  • matplotlib 绘图

2. 数据预处理

  • 缺失数据
  • 异常数据
  • 分类变量转换为独热编码(one-hot)

3. 特征工程

  • 特征选取
    筛选特征,可以组合几个特征为一个新特征
    Random Forest
  • 特征编码
    对分类变量进行独热编码,对于琐碎的值可以归为“其他”类

4. 模型选择

常用:

  • Gradient Boosting
  • Random Forest
  • Extra Randomized Trees
    较弱的模型
  • SVM
  • Linear Regression
  • Logistic Regression
  • Neural Networks
4.1 模型训练

通过Grid Search暴力搜索,选取候选参数
Random Forest 一般在 max_features 设为 Feature 数量的平方根附近得到最佳结果。

    1. 划分出训练集,测试集(数据划分方式自选)
    1. 通过Grid Search遍历参数 训练模型 根据测试集预测的准确度确定合适参数范围
    1. 多次重复步骤2 直到找到合适范围
    1. 找到合适参数,观测验证集随模型训练迭代的预测误差,找到早停点

4.2 交叉验证

5折或者10折即可

5. 模型集合

将多个基础模型集合成一个模型 可同时降低方差与偏差。

  • Bagging:使用训练数据的不同随机子集来训练每个 Base Model,最后进行每个 Base Model 权重相同的 Vote。也即 Random Forest 的原理。
  • Boosting:迭代地训练 Base Model,每次根据上一个迭代中预测错误的情况修改训练样本的权重。也即 Gradient Boosting 的原理。比 Bagging 效果好,但更容易 Overfit。
  • Blending:用不相交的数据训练不同的 Base Model,将它们的输出取(加权)平均。实现简单,但对训练数据利用少了。
  • Stacking

Base Model 之间的相关性要尽可能的小
Ensemble 的 Diversity 越大,最终 Model 的 Bias 就越低
Base Model 之间的性能表现不能差距太大

6. Pipeline

  • 自动特征转换
  • 模型参数自动选取
  • 自动集合模型
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容