特征工程中的缩放和编码的方法总结
数据预处理是机器学习生命周期的非常重要的一个部分。特征工程又是数据预处理的一个重要组成, 最常见的特征工程有以下一些方法:
- 编码
- 缩放
- 转换
- 离散化
- 分离
等等
在本文中主要介绍特征缩放和特征编码的主要方法。
特征缩放
特征缩放是一种在固定范围内对数据中存在的独立特征进行标准化的技术。有些机器学习模型是基于距离矩阵的,例如:k - nearest - neighbors, SVM和Neural Network。对于这些模型来说,特性缩放是非常重要的,特别是当特性的范围非常不同的时候。范围较大的特征对距离计算的影响较大。
标准化 Standarization
数据的标准化是将数据按比例缩放,使之落入一个小的特定区间,把数据转换为统⼀的标准。z-score标准化,即零-均值标准化(常用方法)
- 标准化(或z分数归一化)缩放后,特征就变为具有标准正态分布,具有μ= 0和σ= 1,其中μ均值,σ是平均值的标准差。
- 通过标准化约68%的值介于-1和1之间。
from sklearn.preprocessing import StandardScaler
scale = StandardScaler().fit(data)
scaled_data = scale.transform(data)
规范化(归一化)Normalization
规范化是把数据变为(0,1)之间的小数。主要是为了方便数据处理,将数据映射到0~1范围之内,可以使处理过程更加便捷、快速。
规范化经常被用作机器学习数据准备的一部分。规范化的目标是更改数据集中数值列的值,以使用通用的刻度,而不会扭曲值范围的差异或丢失信息
最常见的方法是最小-最大缩放,公式如下:
完整文章:
https://avoid.overfit.cn/post/04540fdca7cc4374864728cc4787ed14