机器学习算法Part2 特征工程

Part2 特征工程

特征工程的文章参考这篇神文,简单把内容搬运一下https://blog.csdn.net/qq_20412595/article/details/81623489#移除低方差的特征-removing-features-with-low-variance

1. 异常值和缺失值

异常值和缺失值可以按照饱和度的不同进行填充,异常值可以按照缺失值的方式去衡量

对于饱和度较低的特征,一般选择删除特征

饱和度一般的特征,可以按照将缺失值单独赋值为1类,查看这一类的重要性

饱和度较高的特征,可以采用均值,众数填充,或者可以采用knn填充

异常值的检验算法

统计学方法:箱线图,3 σ \sigma σ原则

算法:DBSCAN,iforest

  1. 箱线图

    代表的执行方法为箱式图

    箱式图(来自百度百科)

    上四分位数Q3,又叫做升序数列的75%位点
    下四分位数Q1,又叫做升序数列的25%位点
    箱式图检验就是摘除大于Q3+3/2*(Q3-Q1),小于Q1-3/2*(Q3-Q1)外的数据,并认定其为异常值;针对全量样本已知的问题比较好,缺点在于数据量庞大的时候的排序消耗

  2. 3 σ \sigma σ原则

    认为点大多满足在μ-3σ到μ+3σ区间内,之外的都是异常点

  3. dbscan

    这是一种聚类检测的方法,具体可以到聚类再说

  4. iforest

    假设数据集有N条数据,构建一颗iTree时,从N条数据中均匀抽样(一般是无放回抽样)出ψ个样本出来,作为这颗树的训练样本。在样本中,随机选一个特征,并在这个特征的所有值范围内(最小值与最大值之间)随机选一个值,对样本进行二叉划分,将样本中小于该值的划分到节点的左边,大于等于该值的划分到节点的右边。由此得到一个分裂条件和左、右两边的数据集,然后分别在左右两边的数据集上重复上面的过程,直到数据集只有一条记录或者达到了树的限定高度。特征在层级之间复用

    img

    由于异常数据较小且特征值和正常数据差别很大。因此,构建iTree的时候,异常数据离根更近,而正常数据离根更远。一棵iTree的结果往往不可信,iForest算法通过多次抽取样本,构建多棵二叉树。最后整合所有树的结果,并取平均深度作为最终的输出深度,由此计算数据点的异常分值。

2. 特征选择

特征选择主要有三种方法:1.过滤(统计学思想进行相关性检验,选择特征) 2.包裹 3.嵌入(利用模型进行特征重要性排序选择特征)主要包括树模型和lasso回归

3. 正负样本不均衡

  1. 调整二分类中的阈值

  2. 选用ROC,F1,召回率

  3. 过采样和欠采样

    过采样:重复正比例数据,实际上没有为模型引入更多数据,过分强调正比例数据,会放大正比例噪音对模型的影响

    欠采样:丢弃大量数据,和过采样一样会存在过拟合的问题

    SMOTE:加强版的过采样,基本思想是对少数类样本插值,合成少数类样本的新样本,从少树类样本集T中随机选取一个样本,再从T中选取K个近邻(距离的定义多种多样)。1.从这k个近邻中随机选取一个样本,2. 从0-1中随机选取一个数 3.插值得到一个新的样本 4.重复上述步骤

  4. 代价敏感学习

4. 特征组合

传统的特征组合有GBDT+LR,fm和deepfm,wide&deep,这部分留到推荐系统里面详细说明

5. 特征相关性

特征的高相关性对于集成学习的影响较小,对线性模型的影响相对比较大,特别是线性回归

随机森林的预测能力不受多重共线性影响。

**但是数据的解释性会被多重共线性影响。**随机森林可以返回特征的重要性(importantce),当有多重共线性时,importance会被影响。一些具体多重共线性的特征的重要性会被相互抵消,从而影响我们解释和理解特征。

比如说,特征A和B完全一样,我们在用随机森林时,它们的重要性应该非常接近(考虑到随机性)。如果我们在训练前删除特征B,那么特征A的重要性就会翻番。这一下子就影响了我们对特征、数据的理解。

我们在用随机森林时,它们的重要性应该非常接近(考虑到随机性)。如果我们在训练前删除特征B,那么特征A的重要性就会翻番。这一下子就影响了我们对特征、数据的理解。

特征相关性高往往影响的是模型的解释性和稳定性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值