特征工程

Task3 - 特征工程
代码示例https://cloud.tencent.com/developer/article/1491924

  1. 数据分箱

一般在建立分类模型时,需要对连续变量离散化,特征离散化后,模型会更稳定,降低了模型过拟合的风险。比如在建立申请评分卡模型时用logsitic作为基模型就需要对连续变量进行离散化,离散化通常采用分箱法。分箱的有以下重要性及其优势:

离散特征的增加和减少都很容易,易于模型的快速迭代;
稀疏向量内积乘法运算速度快,计算结果方便存储,容易扩展;
离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1,否则0。如果特征没有离散化,一个异常数据“年龄300岁”会给模型造成很大的干扰;
逻辑回归属于广义线性模型,表达能力受限;单变量离散化为N个后,每个变量有单独的权重,相当于为模型引入了非线性,能够提升模型表达能力,加大拟合;
离散化后可以进行特征交叉,由M+N个变量变为M*N个变量,进一步引入非线性,提升表达能力;
特征离散化后,模型会更稳定,比如如果对用户年龄离散化,20-30作为一个区间,不会因为一个用户年龄长了一岁就变成一个完全不同的人。当然处于区间相邻处的样本会刚好相反,所以怎么划分区间是门学问;
特征离散化以后,起到了简化了逻辑回归模型的作用,降低了模型过拟合的风险。
可以将缺失作为独立的一类带入模型。
将所有变量变换到相似的尺度上。
  1. 标准化/归一化

标准化后会使每个特征中的数值平均变为0(将每个特征的值都减掉原始资料中该特征的平均)、标准差变为1.
归一化把数据变为(0,1)或者(-1,1)之前的小数,为了数据处理方便,把量纲表达式变成无量纲表达式,便于不同单位或量级的指标能够进行比较或加权。

标准化与归一化的区别:归一化是将样本的特征值转换到同一量纲下把数据映射到[0, 1]或者[-1, 1]区间内,仅由变量的极值确定,因区间放缩是归一化的一种。标准化是依照特征矩阵的处理数据,其通过求z-score的方法,转换为标准正态分布,和整体样本分布相关,每个样本点都能对标准化产生影响。

无量纲的理解:去掉实际过程中的单位
  1. Why归一化/标准化?

归一化/标准化是一种线性变换,线性变换由很多良好的性质,这些性质决定了对数据改变后不会造成“失效”,反而能提高数据的表现,这些性质是归一化/标准化的前提。线性变换不会改变原始数据的数值排序。
主要表现为三点:1)模型求解需要,比如加快梯度下降过程 2)无量纲化 3)避免数值问题,比如数值过大。
4. 特征构造

主要包括构造统计量特征(比如求和、比例等),时间特征(包括节假日等),地理信息(比如分箱、分布编码等),非线性变换(包括log/平方/根号等),特征组合(特征交叉等),自己认为可构造的特征。
5. 特征筛选

特征筛选包括:过滤式(filter)、包裹式(wrapper)、嵌入式(embedding)。

过滤式
先对数据进行特征选择,然后在训练学习器,常见的方法由Relief/方差选择法/卡方检验法/互信息法
包裹式
直接把最终将要使用的学习器的性能作为特征子集的评价准则,常见方法有LVM(Las Vegas Wrapper)
嵌入式
结合过滤式和包裹式,学习器训练过程中自动进行了特征选择,常见的有lasso回归
  1. 降维

将数据从原来的d微转变为k微的子集(d < n)
Why降维?

降低数据占用空间
减少计算时间
一些算法在高维度数据上表现不好,通过降维来改善算法适用性
删除冗余的特征
有利于可视化

常用方法包括 线性映射和非线性映射两大类
线性映射:PCA主成分分析、LDA线性判别分析
非线性映射:基于核的非线性降维、流形学习、ISOMap
Ps:特征选择也是一种降维

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值