中心化/标准化/scale()函数

中心化

中心化(Zero-centered或者Mean-subtraction):$$数据 - 数据的均值$$; 反映在R的数据框中:$$列元素 - 该列元素均值$$

经过中心化的元素,均值为0

标准化

标准化(Standardization或Normalization):$$(数据 - 数据的均值)/ 数据的标准差$$; 反映在数据框中:$$(列元素 - 该列元素均值)/ 该列元素标准差$$

经过标准化的元素,均值为0, 方差为1,服从标准正态分布。 不同尺度的特征对结果的影响程度是不同的,标准化可以使得不同的特征具有相同的尺度,消除特征之间的差异性。 当原始数据不同维度上的特征的尺度(单位)不一致时,需要标准化步骤对数据进行预处理。

scale()函数

R语言中可以使用scale()函数对数据进行中心化和标准化:

scale(x, center = TRUE, scale = TRUE)

用途: 对列数据进行中心化或者标准化

参数

  • x: a numeric matrix(like object). 数字型矩阵或者类似矩阵的对象(例如:数据框)
  • center:either a logical value or a numeric vector of length equal to the number of columns of x.
    • 如果center = TRUE,则数据减去均值(忽略NA);
    • 如果center = FALSE,则不做减法
    • 如果center是一个向量,且向量长度与矩阵的列向量长度相同,则$$矩阵列元素 - 对应位置的center向量的列元素$$
  • scale:either a logical value or a numeric vector of length equal to the number of columns of x.
    • 如果scale = TRUE以及center = TRUE,则$$列元素/标准差$$;
    • 如果scale = FALSE,则不做任何除法
    • 如果scale是一个向量,且向量长度与矩阵的列向量长度相同,则$$矩阵列元素/对应位置的scale向量的列元素$$

具体用法

  • 中心化:scale(x,center = TRUE,scale = FALSE)
  • 标准化:scale(x, center = TRUE, scale = TRUE)
  • 其他:$$x / root-mean-square$$,其中: $$root-mean-square = sqrt(sum(x^2)/(n-1))$$
scale(x,center = FALSE,scale = TRUE):

results matching ""

    No results matching ""