特征缩放一般在数据预处理时执行,将数据中独立特征数据标准化,以处理高度变化的值。如果没有进行特征缩放,那么机器学习算法往往会权衡更大的值,而不去理会该值的特征属性,从而影响算法精准度。
特征缩放的方法
可以根据数据的分布使用标准化或归一化来完成特征缩放。
标准化
标准化是一种特征缩放方法,其中数据值被重新缩放以适应0和1之间的分布,使用均值和标准差作为基础来找到特定值。然后使用数据点之间的距离来绘制相似性和差异性。
当数据遵循高斯分布时,标准化用于特征缩放。便适用于:
1、优化算法,例如梯度下降
2、聚类模型或基于距离的分类器,如K近邻算法(Knn)
3、高方差数据范围,例如主成分分析
无论数据是分类的、数字的、文本的还是时间序列的,标准化都可以将所有数据集中在一个尺度上。因此,它通常用于在训练或重新训练预测模型时进行评分。每次使用新数据训练模型时,均值和标准差值会根据历史数据和新数据的组合进行更新。
但是如果数据不服从正态分布呢?就必须归一化。
归一化
可用于缩放非正态数据的方法称为最大最小值归一化重新缩放再次在0和1之间进行,但值是根据数据在最小到最大比例上的位置分配的,因此0表示最小值,1表示最大值。
另一种归一化方法是基于单位向量的,其中向量或行的长度以视觉格式拉伸到单位球体。当需要量化数据样本中的相似性时,这最适用于像乘积或内核这样的二次形式。归一化通常用于支持向量回归。这种方法在处理非正常数据时非常有用,但它不能处理异常值。