Ruixiang's blog

work harder, study better, do faster, become stronger

0%

【天池数据竞赛】贷款违约预测

赛题地址:

零基础入门数据挖掘 - 贷款违约预测

Pipeline:

对于这种csv表格式数据有一套固定的流程, 多用传统机器学习方法搭建模型。

  • EDA数据分析
    1. 数据总体了解:大小,维度,特征 等
    2. 查看数据中的缺省值和唯一值
    3. 深入查看数据类型:数值型(连续还是离散),类别型或对象型,并进行分析
    4. 分析特征和特征之间的关系,特征和目标变量的关系
    5. 将结果可视化以便更好分析
  • 特征工程:(重要部分)
    1. 对特征进行预处理:缺失值填充,时间格式处理,对象类型数据转换
    2. 异常值处理,去除噪音:${3\sigma}$,箱型图过滤
    3. 数据分箱
    4. 卡方交互:特征间组合,特征间衍生
    5. 特征编码:one-hot, label-encode
    6. 特征选择
    7. 必要时还要进行归一化处理,降维,去除相关性高的特征等
  • 建模调参:(重要部分)
    1. 逻辑回归模型需要预先处理缺失值和异常值,必要时要做归一化处理
    2. xgboost 和 lightgbm 都是决策树模型,会自动处理缺失值。其中lightgbm也可以处理类别类型数据
    3. 构造模型,划分验证集和测试集
    4. 集成学习方法:bagging, boosting
    5. 模型评估:AUC指标
    6. 模型调参:(最耗时耗力的一步)网格搜索(sklearn 提供GridSearchCV), 贝叶斯调参
    7. 一般来说,调参并不会让模型性能有特别大的飞跃,但是会有一些性能上的提升
    8. 注意不要过拟合
  • 模型融合
    1. 简单加权,取平均或按权重分配
    2. 简单投票或者加权投票
    3. stacking\blending
    4. 其他融合方式…

我的baseline地址:here

我采用了lightgbm,xgboost,catboost 这三种决策树模型,AUC最好的是0.7317。之后又再此基础上做了多次尝试,主要是在特征工程方面,比如利用随机森林填补缺省值Nan,去除噪音,删除一些不相关的特征等,发现了过拟合问题。还是得再从模型融合的方向下手,能够显著提升模型性能的是特征工程和模型融合。

Welcome to my other publishing channels