标准化与归一化的差异

本文详细介绍了统计学中用于数据预处理的两种重要方法——标准化和归一化,包括各自的计算公式及应用场景。标准化将数据转化为均值为0,标准差为1的分布,适合于衡量偏离均值的程度;归一化则将数据缩放到0到1之间,有助于消除不同单位或尺度的影响。通过R语言示例展示了如何实现这两种方法,并指出在选择使用哪种方法时应考虑应用场景和数据特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文介绍统计学中标准化与归一化方法,包括计算公式和应用场景,以及两者的差异。

两者计算公式

标准化(Standardization) 和 归一化(normalization) 是数据缩放的两种方法.

标准化缩放数据集为均值为0,标准化差为1,使用下面的公式:

xnew_{new}new = (xi_{i}i – μ) / σ

  • xi_{i}i 是数据集中第i个值
  • μ 为样本均值
  • σ 样本标准差

归一化缩放数据集,让每个元素落在0~1之间,使用下面公式:

xnew_{new}new = (xi_{i}i – xmin_{min}min) / (xmax_{max}max – xmin_{min}min)

  • xi_{i}i 是数据集中第i个值
  • xmin_{min}min 为数据集最小值
  • xmin_{min}min 为数据集最大值
    在这里插入图片描述

R 计算示例

首先定义数据集data, 然后利用内置的scale函数进行标准化,并通过mean 和 sd 函数进行验证。
scale返回矩阵,通过as.vector转为向量。并自定义norm函数进行归一化计算。

data <- c(13, 16, 19, 22, 23, 38, 47, 56, 58, 63, 65, 70, 71)

sd_data <- as.vector(scale(data))
sd_data

mean(sd_data)
# 0
sd(sd_data)
# 1

norm <- function(data){
  mi <- min(data)
  ma <- max(data)
  
  (data - mi) / (ma - mi)
}


data_norm <- norm(data)
data_norm

两者的应用场景

当我们进行数据分析时,可能会涉及多个变量,它们采用不同的单位进行表示,我们希望每个变量都有相同的范围,此时可以使用归一化方法。这样可以避免某个变量产生过度影响,特别它们使用不同的单位进行衡量(如一个变量使用厘米,另一个变量使用毫米)。

而标准化数据是为了知道每个值偏离均值多少个标准差。举例,有500个学生成绩,如果希望了解每个成绩偏离均值程度,我们使用标准化方法处理原始数据;假设某个标准分数为1.26,表示该学生的考试成绩比平均考试成绩高出1.26个标准差。

两者如何选择,除了应用场景,我们也要了解两者差异:

  • 归一化后数据的值在0~1之间
  • 标准化数据集后,均值为0,标准差为1,但最大值和最小值没有特定上下限
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值