kaggle实战之竞赛步骤

特征使用方案
  1. 基于业务理解,尽可能找出对因变量有影响的所有自变量

  2. 并根据获取难度、覆盖率、准确率对特征进行可用性评估

特征获取
  1. 如何获取这些特征
  2. 如何存储
特征清洗
  1. 清洗异常特征

  2. 进行采样,如果数据不均衡,可以使用上采样或下采样保证数据均衡

  3. 将少的数据给予大的权重,以模型能够着重考虑少的数据

  4. 把多数据分为多类与少数据组成多组数据均衡的数据,分别训练多个弱分类器,然后bagging进行融合,分类的话通过vote投票取准确率高的模型,回归的话通过avg返回平均值

数据预处理工具
  1. Pandas
  2. HiveSQL
  3. SparkSQL
数据预处理
  1. 处理缺失值 - 中位数 或 0
  2. 数据变换 - log 或 指数
  3. 降维 - PCA 或 LDA
特征处理 feture_extraction(特征抽取) preprocessing(预处理)
  1. 数值型

    1. 归一化
    2. 离散化 - 对数据分段 - 对连续值设置阈值进行离散分类
  2. 类别型

    1. 独热编码
    2. 二进制编码
    3. 哑变量
  3. 时间类

    1. 间隔型 - 离某个节日差多久 - 这一周内登陆的次数
    2. 组合型 -
    3. 离散型 - 把一天的时间切割两段 饭点和非饭点
  4. 文本型

    1. n-gram
    2. bag of words - 出现了哪些词
    3. TF-IDF - 出现了哪些词,它的权重多大
  5. 统计型 - 和业务场景非常接近的

  6. 组合特征 - 对不同的域做一个组合

特征选择 feture_selection (特征选择)
  1. Filter - 过滤型
    1. 思路:这个特征和结果的相关度
    2. 相关系数
    3. 卡方检验
    4. 信息增益 互信息
  2. Wrapper - 包裹型
    1. 思路:通过目标函数来决定是否加入一个变量
    2. RFE 对特征的重要度进行排序 并踢掉不重要的特征
    3. 迭代:产生特征子集,评价:1.完全搜索2.启发式搜索3.随机搜索(GA,SA)
  3. Embedded - 嵌入型
    1. 思路:基于模型做特征选择
    2. 正则化 - L1(lasso) L2(Ridge)
    3. 决策树 - 熵 / 信息增益
    4. 深度学习
模型选择 model_selection
  1. 交叉验证
模型超参数选择 grid_search
  1. 多组参数进行选择
  2. 多种算法进行选择
模型状态评估
  1. 过拟合
  2. 欠拟合
  3. 学习曲线
模型融合

通过好几个不错的模型共同的结果判定最后的结果

  1. 群众的力量是伟大的,集体智慧是惊人的
    1. Bagging 最简单最常见的 (内部取样本是有放回的)
      • 不用全部的数据集,每次取一个子集 都使用相同算法训练一个模型,最后分类问题用这些模型的结果做vote,回归问题对这些模型的结果取avg
      • 不用全部的数据集,每次取一个子集 都使用不同算法训练一个模型,最后分类问题用这些模型的结果做vote,回归问题对这些模型的结果取avg
    2. Random forest 随机森林
  2. 站在巨人的肩膀上,能看的更远
    1. 模型 stacking
      • 用多种predictor结果作为特征训练
      • 把各个模型输出结果当作输入,构建最后一个分类器产生输出
      • 如果最后的分类器为linear线性的,也就等价于把多个结果进行加权平均
      • 如果最后的分类器为majority,也就等价于把多个结果进行vote投票选择
    2. 弱化的stacking - blending
  3. 一万小时定律 Boosting
    1. Adaboost
      • 重复迭代和训练 - 还不够努力需要多次学习
      • 每次给分错的样本分配更高的权重 - 要多做之前做错的题
      • 最简单的分类器叠加 - 脚踏实地,通过最简单的知识积累即使不聪明也可以称为专家
    2. GBT - Gradient Boosting Tree 逐步增强树
    3. XGboost
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泡泡码客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值