商用机器学习:数据科学实践
上QQ阅读APP看书,第一时间看更新

2.1 特征缩放

在详细介绍聚类算法之前,我们必须先讨论特征缩放(feature scaling),它也被称为数据标准化(normalization or standardization)。特征缩放是机器学习算法必须要做的第一步,包括k-均值(k-means)。特征缩放的目的是确保每个特征在算法中都被给予同样的重视。假设我们将男性按照以下两项特征进行聚类:身高(英尺)和体重(磅[1]),身高的范围为60~80英尺,体重的范围为100~350磅;如果不进行特征缩放的话,这两项特征将无法以相同的重要性被代入运算,因为身高的范围远远小于体重(20英尺和250磅)。

特征缩放的方法之一是计算特征的均值和标准差,将每个特征取值减去均值再除以标准差。设V为某个样本的特征取值:

在式(2-1)中,μ为该特征取值的所有样本的均值,σ为该特征取值的所有样本的标准差,该计算方法有时候又被称为Z评分标准化(Z-score normalization)。被缩放的特征取值均值为0,标准差为1。如果我们需要在聚类模型中使某一项特征的权重高于其他特征,则需要将这一项特征的标准差设置为大于1。

另一种特征缩放的方法是用该特征的取值减去其最小值,再除以最大值与最小值之差,此方法被称作极值缩放(min-max scaling),被缩放后所得的数据都介于0到1之间。

Z评分标准化常常被更广泛地运用,其原因在于该方法可更小程度地避免极端值造成的影响,而极值缩放则适合于特征值被限定在一定范围内来收集的数据。在本章后续介绍k-均值算法时,我们将假设特征取值已经用上述两种方法之一进行过缩放处理。

[1] 1 磅=0.453 6 千克。——译者注