概述
关于数值数据的特征工程
定义
特征:原始数据的数值表示。将原始数据表示为数值型数据有多种方式,所以特征也有很多种。特征与模型相关联。 特征数量也比较重要,数量过少信息不够,数量过多训练比较困难,或出现过多特征不合适会影响模型性能。
特征工程:在给定数据,任务,模型的情况下,设计出最合适的特征的过程。
我们选择的不仅是模型,还有特征,特征和模型相辅相成。
数值类型的特征工程
介绍一些基本准则,只是基础准则。
同时,可以对目标变量做工程,不止争对输入变量
处理计数
有关数据的尺度,是应该保留原始数据的数值形式?还是应该转化成二值形式?或是粗粒度的分箱操作?
二值化
理解一下为什么需要二值化?
直方图查看一下数值的分布特征。异常值会不会使预测偏高。
理解一下什么是强壮指标?(在统计学术语
中,“强壮”意味着该方法适用于各种情况。)
区间量化(分箱)
原始的点评数量横跨了若干个数量级,这对很多模型来说都是个问题。在线性模型中,
同一线性系数应该对所有可能的计数值起作用。过大的计数值对无监督学习方法也会造
成破坏,比如 k-均值聚类,它使用欧氏距离作为相似度函数来测量数据点之间的相似度。
数据向量某个元素中过大的计数值对相似度的影响会远超其他元素,从而破坏整体的相
似度测量。
一种解决方法是对计数值进行区间量化:
区间量化可以将连续型数值映射为离散型数
值,我们可以将这种离散型数值看作一种有序的分箱序列,它表示的是对密度的测量
两种确定分箱宽度的方法:
- 固定宽度分箱
这些范围可以人工定制,
也可以通过自动分段来生成,它们可以是线性的,也可以是指数性的。 - 自适应分箱:分位数分箱。
是可以将数据划分为相等的若干份数的值
另一种解决方法是对计数值进行变换:对数变换,指数变换。
-
对数变换
对数函数可以对大数值的范围进行压缩,对小数值的范围进行扩展。x 越大,log(x) 增长得越慢
:对于具有重尾分布的正数值的处理,对数变换是一个非常强大的工具。(与高斯分布相比,
重尾分布的概率质量更多地位于尾部。)它压缩了分布高端的长尾,使之成为较短的尾部,
并将低端扩展为更长的头部
注意,我们数量加1,以免当0时,对数运算结果得到负无穷大。 -
指数变换
指数变换是个变换族,对数变换只是它的一个特例。
用统计学术语来说,它们都是方差稳定化变换。要理解为什么方差稳定是个好性质,可以考虑一下泊松分布。泊松分布是一种重尾分布,它的方差等于它的均值。因此,它的质心越大,方差就越大,重尾程度也越大。指数变换可以改变变量的分布,使得方差不再依赖于均值。例如,假设一个随机变量X 具有泊松分布,如果通过取它的平方根对它进行变换,那么 X=sque(X)的方差就近似是一
个常数,而不是与均值相等。图 2-11 表示出了 λ 对泊松分布的影响,λ 表示泊松分布的均值。当 λ 变大时,不仅整个分布模式向右移动,质量也更加分散,方差随之变大。平方根变换和对数变换都可以简单推广为 Box-Cox 变换:
展示了 λ = 0(对数变换)、λ = 0.25、λ = 0.5(平方根变换的一种缩放和平移形式)、
λ = 0.75 和 λ = 1.5 时的 Box-Cox 变换。λ 小于 1 时,可以压缩高端值;λ 大于 1 时,起的作用是相反的。只有当数据为正时,Box-Cox 公式才有效。对于非正数据,我们可以加上一个固定的常数,
对数据进行平移。当应用 Box-Cox 变换或更广义的指数变换时,必须确定参数 λ 的值,这
可以通过极大似然方法(找到能使变换后信号的高斯似然最大化的 λ 值)或贝叶斯方法来
完成。《计量经济学方法》一书中可以获得更多的信息。幸运的是,SciPy 的
stats 包中有 Box-Cox 变换的实现方法,并包括找到最优变换参数的功能。
特征缩放和归一化
考虑到使用的模型,模型对输入的特征尺度比较敏感时,就需要进行特征缩放或叫归一化。或者当输入一组变量时尺度相差比较大就需要特征缩放。
如果输入特征的尺度差别非常大,就会对模型训练算法带来数值稳定性方面的问题。在这种情况下,就应该对特征进行标准化。
常见的模型中,有些为平滑函数,比如线性回归,逻辑回归或包含矩阵的模型,这些对尺度比较敏感,有些为树模型,对尺度不在乎。逻辑函数,逻辑函数的另一个例子是阶梯函数(如:输入 x 是否大于 5 ?)。决策树模型中使用了输入特征的阶梯函数,因此,基于空间分割树的模型(决策树、梯度提升机、随机森林)对尺度是不敏感。唯一的例外是,如果输入的尺度是随时间变化的,也就是说如果特征是某种累计值,那么它最终可能会超出训练树的取值范围。有些基于使用距离,k-均值聚类、最近邻方法、径向基核函数,以及所有使用欧氏距离的方法都属于这种情况,对尺度敏感。
使用方式:
- min-max缩放
使值缩放到[0,1]之间 - 标准化/方差缩放
值缩放到均值为0,方差为1.高斯分布的标准化
关于稀疏数据,不要进行中心化 - 范数归一化
经过 ℓ 2 归一化后,特征列的范数就是 1。
除了对特征进行 ℓ2归一化,也可以对数据点进行 ℓ 2 归一化,这会得到带有单位范数(范数为 1)的数据向量。
不管使用哪种缩放,都不会改变数据分布。
特征交互
特征的乘积。表示成and.
这种特征在基于决策树的模型中极其常见,在广义线性模型中也经常使用。
#特征选择
为了精简无用的特征,在不影响模型预测的准确率或是对模型的预测准确率影响不大的情况下提高计算速度。
不建议用过滤的方式,应为没有考虑到组合后效果,没有考虑使用的模型。
打包方式
嵌入式方式
总结
首先对数值型数据的合理性检查。
其次,考虑从一下特征的尺度。它的最大值、最小值是多少?是否横跨多个数量级?模型是否对尺度敏感。
再者:数值型的特征分布怎样?是否满足模型假设。需要进行转换么?
还可以将多个特征进行组合形成更复杂的特征。交互特征的构造非常简单。
为了降低计算成本,通常需要使用自动的特征选择对输入进行精简。
最后
以上就是繁荣猎豹为你收集整理的关于数值数据的特征工程关于数值数据的特征工程数值类型的特征工程特征缩放和归一化特征交互总结的全部内容,希望文章能够帮你解决关于数值数据的特征工程关于数值数据的特征工程数值类型的特征工程特征缩放和归一化特征交互总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复