数据标准化与归一化 及其区别

这篇具有很好参考价值的文章主要介绍了数据标准化与归一化 及其区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

  数据一般都是有单位的,比如身高的单位有米、厘米等。需要对此类数值型特征进行无量纲化处理,即是使不同规格的数据转换到同一规格。常见的无量纲化方法有标准化归一化

主要参考:机器学习算法:特征工程


一、数据标准化(Standardization)

1.为什么使用数据标准化?

  • 某些算法要求样本具有0均值和1方差,即需要样本满足标准正态分布
  • 需要消除样本不同属性具有不同量级时的影响。例如,数量级的差异将导致量级较大的属性占据主导地位,从而与实际情况相悖(比如这时实际情况是值域范围小的特征更重要);当使用梯度下降法寻求最优解时,很有可能走“之字型”路线(垂直等高线走),从而导致需要迭代很多次才能收敛;依赖于样本距离的算法对于数据的数量级非常敏感。

2.数据标准化定义

数据标准化公式如下:
x ‾ = 1 n ∑ i = 1 n x i s t d ( x ) = ∑ i = 1 n ( x i − x ‾ ) 2 n − 1 \overline{x}=\frac{1}{n}\sum^n_{i=1}x_i \\std(x)=\sqrt{\frac{\sum^n_{i=1}(x_i-\overline{x})^2}{n-1}} x=n1i=1nxistd(x)=n1i=1n(xix)2
  标准化的前提是特征值服从正态分布,标准化后,其转换成标准正态分布。均值和标准差都是在样本集上定义的,而不是在单个样本上定义的。标准化是针对某个属性的,需要用到所有样本在该属性上的值。

3.实现代码

from sklearn.preprocessing import StandardScaler

#标准化,返回值为标准化后的数据
standardScaler  = StandardScaler().fit(X_train)
standardScaler.transform(X_train)

二、数据归一化

1.MinMax归一化

  区间缩放法利用了边界值信息,将属性缩放到[0,1]。计算公式如下:
x i − m i n ( x ) m a x ( x ) − m i n ( x ) \frac{x_i-min(x)}{max(x)-min(x)} max(x)min(x)ximin(x)
这种方法有一个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义;另外,MinMaxScaler对异常值的存在非常敏感

2.代码实现

from sklearn.preprocessing import MinMaxScaler

#区间缩放,返回值为缩放到[0, 1]区间的数据
minMaxScaler  = MinMaxScaler().fit(X_train)
minMaxScaler.transform(X_train)

3.MaxAbs归一化

  单独地缩放和转换每个特征,使得训练集中的每个特征的最大绝对值将为1.0,将属性缩放到[-1,1]。它不会移动/居中数据,因此不会破坏任何稀疏性。
x i m a x ( x ) \frac{x_i}{max(x)} max(x)xi

三、标准化与归一化对比

1.标准化与归一化的异同

  • 相同点:它们的相同点在于都能取消由于量纲不同引起的误差;都是一种线性变换,都是对向量X按照比例压缩再进行平移。
  • 不同点:一是目的不同归一化是为了消除纲量压缩到[0,1]区间标准化只是调整特征整体的分布。二是归一化与最大,最小值有关;标准化与均值,标准差有关。三是归一化输出在[0,1]之间标准化无限制

2.什么时候用归一化?什么时候用标准化?

  • 如果对输出结果范围有要求,用归一化。
  • 如果数据较为稳定,不存在极端的最大最小值,用归一化。
  • 如果数据存在异常值和较多噪音,用标准化,可以间接通过中心化避免异常值和极端值的影响。

3.归一化与标准化的应用场景

  1. 在分类、聚类算法中,需要使用距离来度量相似性的时候(如SVM、KNN)、或者使用PCA技术进行降维的时候,标准化(Z-score standardization)表现更好
  2. 不涉及距离度量、协方差计算、数据不符合正太分布的时候,可以使用第一种方法或其他归一化方法。比如图像处理中,将RGB图像转换为灰度图像后将其值限定在[0, 255]的范围。
  3. 基于树的方法不需要进行特征的归一化。例如随机森林,bagging与boosting等方法。
  4. 基于参数的模型或者基于距离的模型需要归一化。因为基于参数的模型或者基于距离的模型,需要对参数或者距离进行计算,都需要进行归一化。
  5. 一般来说,建议优先使用标准化。对于输出有要求时再尝试别的方法,如归一化或者更加复杂的方法。很多方法都可以将输出范围调整到[0, 1],如果我们对于数据的分布有假设的话,更加有效的方法是使用相对应的概率密度函数来转换。
  6. 除了上面介绍的方法外,还有一些相对没这么常用的处理方法:RobustScalerPowerTransformerQuantileTransformerQuantileTransformer等。

总结

  需要特别注意,除了去除量钢化需要归一化或标准化,还需考虑基于参数的模型或者基于距离的模型,需要对参数或者距离进行计算,都需要进行归一化。文章来源地址https://www.toymoban.com/news/detail-696412.html

到了这里,关于数据标准化与归一化 及其区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 深入理解机器学习——数据预处理:归一化 (Normalization)与标准化 (Standardization)

    分类目录:《深入理解机器学习》总目录 归一化 (Normalization)和标准化 (Standardization)都是特征缩放的方法。特征缩放是机器学习预处理数据中最重要的步骤之一,可以加快梯度下降,也可以消除不同量纲之间的差异并提升模型精度。 归一化(Normalization)是将一组数据变

    2024年02月08日
    浏览(13)
  • 标准化归一化方法

    标准化归一化方法

    分别是0-1标准化(Max-Min Normalization)和Z-Score标准化。 1.1 0-1标准化方法 每一列中的 元素减去当前列的最小值 , 再除以该列的极差 。 不过在深度学习领域,我们更希望输入模型的数据是Zero-Centered Data,此时 Z-Score标准化会更加合适。 1.2 Z-Score标准化 Z-Score标准化并不会将数据

    2023年04月12日
    浏览(12)
  • 【机器学习】一文搞懂标准化,归一化,正则化

    【机器学习】一文搞懂标准化,归一化,正则化

    对于机器学习中的标准化,归一化和正则化的理解,一直都比较模糊,而且在许多技术书籍中,对于它们的使用基本都是一笔带过,不理解概念的话,就不知具体对数据做了哪些操作。因此,在这里专门对这几个概念做学习与总结。 学习之前,先抛出几个问题: 这几个概念

    2024年02月03日
    浏览(13)
  • matlab中矩阵的归一化和标准化处理

    matlab中矩阵的归一化和标准化处理

    1、归一化:将数据映射到0-1的区间中。 matlab中矩阵的归一化处理: X=(value-value_min) / (value_max-value_min) 函数:mapminmax(A,M),A—需要处理的矩阵,M—需要映射到的范围,M通默认为[-1,1],也可设置为常用的0和1之间。 结果: 2、标准化:将数据映射到方差为1,均值为0的数据。

    2024年04月13日
    浏览(9)
  • 归一化 (Normalization)、标准化 (Standardization)和中心/零均值化 (Zero-centered)

    归一化 (Normalization)、标准化 (Standardization)和中心/零均值化 (Zero-centered)

    目录 一、概念 1、归一化(Normalization):  2、标准化(Standardization): 3、中心化/零均值化(zero-centered): 二、联系和差异: 三、标准化和归一化的多种方式 三、为什么要归一化/标准化? 3.1、数据的量纲不同;数量级差别很大 3.2、避免数值问题:太大的数会引发数值问

    2024年02月04日
    浏览(13)
  • 数据标准化方法

    今天看到了“指数移动平均窗口标准化”,就研究了一下这是个啥东西,然后又顺便看了一下其他的数据标准化方法,这里顺便记录一下,方便以后查阅。 zscore标准化是一种 基于数据分布的标准化方法 。它的基本思想是 将数据转换为均值为0,标准差为1的分布 ,从而使得数

    2023年04月22日
    浏览(12)
  • 蛋白质组学两个定量方法(iBAQ和LFQ)的区别及常见的标准化方法

    首先,在使用Maxquant软件进行查库的时候,有两个参数值得大家关注:LFQ和iBAQ。 当我们在进行搜库时,如果两个参数都选择,将会在结果文件中有三个定量结果:Intensity,IBAQ和LFQ。 接下来,我们来详细解释一下这三个定量结果的区别: Intensity:将Protein Group中的所有Unique和

    2024年02月04日
    浏览(252)
  • OpenCV-Python学习(17)—— OpenCV 图像像素类型转换与归一化(cv.normalize)

    OpenCV-Python学习(17)—— OpenCV 图像像素类型转换与归一化(cv.normalize)

    1. 学习目标 学习 OpenCV 图像像素的类型转换; 学习 OpenCV 归一化函数。 2. OpenCV 图像像素的类型转换 由于【在 OpenCV-Python 中一切图像数据皆 numpy.array】,因此像素的类型转换可以直接使用 numpy 的类型转换方法。 2.1 将像素转换为 float32 2.2 数据输出结果 2.3 图像输出结果 3. 归一

    2024年02月05日
    浏览(15)
  • python三种数据标准化

    数据变换是数据准备的重要环节,它通过 数据平滑 、 数据聚集 、 数据概化 和 规范化 等方式将数据转换成适用于数据挖掘的形式。常见的变换方法: 1.数据平滑:去除数据中的噪声,将连续数据离散化。这里可以采用分箱、聚类和回归的方式进行数据平滑 2.数据聚集:对

    2024年02月07日
    浏览(11)
  • 蔡春久:主数据标准化如何建设

    蔡春久:主数据标准化如何建设

    亿信华辰「2023数字赋能季」主数据管理专场第一期成功举办。我们邀请到了中国数据标准化及治理专家蔡春久为大家带来主数据管理从理论到工具层面的分享,全程干货,深度解读,以下是演讲全文。 蔡春久:中国大数据技术标准推进委员会数据资产专家、中电标协企业信

    2023年04月25日
    浏览(16)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包