本篇大纲:
1、特征缩放
2、特征扩展
3、特征选择的相关理论
4、特征选择的一些简单实现
开篇之前重复一下数据、特征以及特征工程三者的定义。
数据:
数据指的是能获取到的原始数据信息。
数据处理中的首先要处理的数据通常包括错误数据、冗余数据和缺失数据
特征:
特征是原始数据的数值表示。
有很多方法可以将原始数据转换成数值类型,所以特征有很多形式。
特征工程:
特征工程就是在给定数据、模型和任务的情况下设计出最合适,最恰当的特征的一个过程。
特征缩放
不同特征取值范围不同,比如年龄,取值一般在0-100之间。而收入,取值则可能是几千,几万甚至几十上百万。
对于有些模型,比如线性回归模型、逻辑回归模型或其他一些包含矩阵运算的模型,会比较受到特征尺度的影响。
而对于一般的树模型,则不会太关心数据的尺度。
所以在选择使用对数据尺度敏感的模型时。
对尺度较大的数据做缩放操作,会使得整体模型效果更好一些。
这里介绍常用的三种:标准化、归一化,区间放缩法。
标准化(Z-Score分布)
对应公式为当前值减去均值,除以标准差。
这是一个将数据往正态分布变换的过程,变换之后,数据符合标准正态分布,均值为0,方差为1。
数据分布在坐标轴两侧。
归一化
对应公式为当前值比上欧式范数,欧式范数即所有值的平方和开根号。
变换之后,整体取值在0到1之间。
区间放缩法
对应公式为当前值减去最小值,比上最大值与最小值之间的差值。
变换之后,整体取值也在0到1之间。
当然,上一篇所说的二值化实际上也算一种特征缩放的方式。
但是相比较标准化,归一化和区间放缩法而言,它没有去量纲的功能。
之所以说去量纲,是因为公式中都是带单位运算,也就是存在单位除单位的特点。
从而能够消除因单位差异导致的数据取值差异。
代码示例: