标准化与归一化的差异

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

两者计算公式

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

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

x n e w _{new} new = (x i _{i} i – μ) / σ

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

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

x n e w _{new} new = (x i _{i} i – x m i n _{min} min) / (x m a x _{max} max – x m i n _{min} min)

  • x i _{i} i 是数据集中第i个值
  • x m i n _{min} min 为数据集最小值
  • x m i n _{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,但最大值和最小值没有特定上下限
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值