数据预处理:归一化、标准化及相关变换方法
在数据处理和机器学习领域,数据的预处理是至关重要的一步。不同的数据特征往往具有不同的数值范围,这可能会对学习算法产生不利影响。本文将详细介绍数据预处理中的归一化、标准化等常见操作,以及不同的变换类型和处理方式。
1. 数据范围差异与处理需求
不同特征的数据范围可能存在显著差异。由于我们使用的算法具有数值特性,较大的数值可能会比小数值对学习程序产生更大的影响。例如,某些特征的值不仅大,还可能为负数。为了使学习效果达到最佳,我们希望所有数据大致具有可比性,或者处于大致相同的数值范围内。
2. 归一化(Normalization)
归一化是数据转换的常见第一步,它将每个特征的数据缩放到特定的范围。“归一化”中的“归一”在日常生活中表示“典型”,但在不同领域有特定的技术含义。在这里,我们从统计学意义上使用这个词,即当我们将数据缩放到某个特定范围时,就说数据已经被归一化了。最常用的归一化范围是 [-1, 1] 和 [0, 1],具体选择取决于数据及其含义(例如,谈论负数的苹果数量或年龄是没有意义的)。几乎每个机器学习库都提供了执行此操作的函数,但我们需要记得调用它。
以一个由 232 个点组成的吉他形状的二维数据集为例,假设这些点是测量结果,如某些人的年龄和体重,或者歌曲的节奏和音量。我们将这两个特征分别称为 x 和 y。当我们将吉他形状数据的每个特征归一化到每个轴上的 [-1, 1] 范围时,x 值从 -1 缩放到 1,y 值也独立地从 -1 缩放到 1。但由于原始数据的不同维度跨越的范围不同,最终的吉他形状会发生一些倾斜,因为在垂直方向上的拉伸比水平方向上更多。在这个例子中,x 数据最初的范围约为 [-1, 0]
超级会员免费看
订阅专栏 解锁全文

24

被折叠的 条评论
为什么被折叠?



