机器学习

数据清洗

  • 简单易知的不可能数值
    比如身高12米的人

  • 组合属性判定
    地区在米国但是IP地址在大陆的新闻用户

  • 补齐可对应的缺省值

    • 缺失值很多的字段考虑不用
  • 很多情况正负样本不均衡

    • 电商情况下,用户点击/购买的商品
    • 疾病患者和健康人
    • 大多数模型对正负样本敏感,比如逻辑回归(LR)。这是因为如果正样本特别多,那么损失函数中正样本所占比例就更大,因为损失函数就是一个个样本误差叠加起来的,如果正样本对损失函数贡献的特别多,那么对负样本就不公平。如果极限考虑,会把负样本考虑成噪音。
    • 随机采样和分层采样
  • 正负样本不均衡处理办法
    • 正样本>>负样本,量都很大,下采样,把正样本按20%比例抽出来,有的时候可能会考虑着分层抽样,为了保证原本维持着的比例不破坏
    • 正样本>>负样本,量不是很大
      • 采集更多数据
      • oversampling,把更少的样本添加噪音,重复使用
      • 修改损失函数,给予相应的权重弥补,代价敏感学习

特征处理

  • 数值型(连续值)
    • 幅度调整scaling/归一化normalization
    • log变化
    • 统计值max,min,mean,std
    • 离散化/Hash分桶
      分多少桶,要结合场景确定,实验尝试
      • cut:等步长
      • qcut:等频切分,会随着数据的改变而需要重新计算样本分布,保证样本在0~20%和20%~40%之间的分布个数一样
  • 类别型

    • one-hot编码/哑变量
    • Hash与聚类处理
  • 时间类
    pandas转化为时间类型,统计一周的第几天等

  • 文本型
  • 统计型
    • 最大值
    • 最小值
    • 均值
  • 组合特征

    • 单纯的2个特征组合,类似笛卡尔乘积
    • 使用GBDT+LR,就是使用GBDT对样本进行分类,从根结点到叶节点的一条线路有n个节点,也就是n个特征,这条线路的组合看成一个组合特征。然后把组合特征放到LR中。这样得到的组合特征和最后的权重非常好解释,并且简单
  • 特征选择

    • 有时候造出来的特征之间关联度很高,造成计算性能的浪费
    • 部分造出来的特征对结果有负作用,属于噪音
  • 降维和特征选择是不同的
    • 特征选择就是从一些特征中直接剔除掉一些对结果影响没那么大的特征
    • 降维是对原始特征进行计算,组合,缩特征个数,但是维持着特征之间的关系,这样样本之间的关联程度或者相似程度的依赖还在

模型状态:通过学习曲线判断

  • 欠拟合
    模型的学习能力不够,不能很好的拟合样本数据,表现出高bias。
    样本少的时候准确率稍微高点,但是整体来看,准确率都是挺低的
    • 如何解决
      • 对数据进行更细致化的工作,添加特征
      • 使用更复杂的模型,增加模型学习能力
      • 减小正则化系数
  • 过拟合
    模型学习能力太强,很好拟合训练集但是在验证集表现不好,表现出高方差。
    在训练集上拟合的挺好,准确率都挺高的,但是在验集上表现不好,两者差距有点大的。
    • 如何解决
      • 增加样本个数
      • 增加正则化系数,增大惩罚项,使模型波动程度变低
        这里写图片描述

bad-case分析

哪部分预测错了,什么特征导致分错,这些base-case有没有共性,再挖掘

模型效果优化/融合

模型融合
  • 由base learner融合,同质
  • 由不同learner融合,不同质
方法
  • bagging
    一般是由基模型组成,这些学习器有放回的从样本中取部分数据来训练,这样就有很多机会使得噪音数据不每次都选进来,最后投票或者求平均的时候噪音的影响就会减少。这样不太会导致过拟合了~
  • 随机森林
    由dt基模型组成,不太和bagging相同,不仅样本取一部分,特征也每次只取一部分。然后最后由多个决策树投票
  • stacking
    上一层的成员学习模型结果拿过来,再做一次总结,拟合,由于这样很容易导致过拟合,因为上一层的成员模型拿到的都是全量数据,因此在第二层使用最简单的线性模型拟合
  • adaboost
  • gbdt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值