问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

【知识分享】归一化与标准化

创作时间:
作者:
@小白创作中心

【知识分享】归一化与标准化

引用
CSDN
1.
https://blog.csdn.net/qq_48185833/article/details/137174193

在数据预处理中,标准化和归一化是两种常用的技术,它们可以帮助我们处理数值范围差异巨大的特征,使数据更容易被模型处理。本文将详细介绍这两种技术的概念、方法以及代码实现。

数据的标准化(Standardization)归一化(Normalization)是数据预处理中的两种常见技术。

为什么要进行标准化和归一化?

  1. 样本不同的特征/属性所在的数值范围差异巨大导致训练不收敛或其他问题
  2. 所有数据在相同的取值空间更容易处理,方便模型的统一化和规范化,更好地适应模型或数据分析方法
  3. 更容易发现数据的本质规律

一、归一化(Normalization)

  • 数据按比例缩放,使之落入一个小的特定区间,通常是[0, 1]或[-1, 1]
  • 归一化有多种方法,其中最常见的是最小-最大归一化(Min-Max Normalization)
  • 它的数学公式如下:
  • 代码实现:
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
scaled_result = scaler.fit_transform(data)  
  • 直观展示:
    归一化对异常值非常敏感,因为异常值可能会显著影响xmin 和xmax 的值。

二、标准化(Standardization)

  • 也称为Z值归一化(Z-Score Normalization),将数据转换到0值附近
  • 线性变换,是将每一维特征的均值都调整为0,标准差(方差)调整为1
  • 标准差指数据间的差异程度,数据差异越大,标准差越大
  • 进行标准化后,数据并非一定呈现正态分布,若想改变数据的整体形态,需要采取非线性变换(eg:取对数、平方根...)
  • 它的数学公式如下:
  • 代码实现:
from sklearn.preprocessing import StandardScaler 
scaler = StandardScaler() 
standardized_data = scaler.fit_transform(data)    
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号