相关文章推荐
傻傻的大熊猫  ·  QStringList ...·  1 年前    · 
多情的创口贴  ·  大数据 - 知乎·  1 年前    · 

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

def normalization(data):
    _range = np.max(data) - np.min(data)
    return (data - np.min(data)) / _range
def standardization(data):
    mu = np.mean(data, axis=0)
    sigma = np.std(data, axis=0)
    return (data - mu) / sigma

更新,如果归一化后的范围是[-1, 1]的话,可以将normalization()函数改为:

def normalization(data):
    _range = np.max(abs(data))
    return data / _range

此外,我看了一些GitHub上面的代码,发现很多人在预处理输入到神经网络中的数据时,使用的normalization函数其实是进行了标准化,而不是归一化,比如:

在机器学习过程中,对数据的处理过程中,常常需要对数据进行归一化处理,下面介绍(0, 1)标准化的方式,简单的说,其功能就是将预处理的数据的数值范围按一定关系“压缩”到(0,1)的范围类。 通常(0, 1)标注化处理的公式为: 即将样本点的数值减去最小值,再除以样本点数值最大与最小的差,原理公式就是这么基础。 下面看看使用python语言来编程实现吧 import numpy as np import matplotlib.pyplot as plt def noramlization(data): minVals = data.min(0) maxVals = data.ma 本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。🧡AI职场汇报智能办公文案写作效率提升教程 🧡专注于AI+职场+办公方向。下图是课程的整体大纲下图是AI职场汇报智能办公文案写作效率提升教程中用到的ai工具。 本文实例讲述了Python数据预处理之数据规范化。分享给大家供大家参考,具体如下: 数据规范化 为了消除指标之间的量纲和取值范围差异的影响,需要进行标准化归一化)处理,将数据按照比例进行缩放,使之落入一个特定的区域,便于进行综合分析。 数据规范化方法主要有: – 最小-最大规范化 – 零-均值规范化 代码实现 #-*- coding: utf-8 -*- #数据规范化 import pandas as pd import numpy as np datafile = 'normalization_data.xls' #参数初始化 data = pd.read_excel(dat step2. 计算mean和std means = np.mean(X,axis=(0,2)) #计算均值,先计算第0维度的,后计算第2维度的,得到一个shape为3,的矩阵 stds = np.std(X,axis = (0,2)) #计 归一化,顾名思义,就是将数据转化为统一的标准,并保持数据的相对关系不变。在现实生活中,往往会出现各种不同规格和范围的数据,难以直接比较和分析。使用归一化的方法能够将不同规格和范围的数据转化为统一的标准,从而更加清晰、直观地展示数据,方便数据分析和处理。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。 均值方差归一化(Standardization): 把所有数据归一到均值为0方差为1的数据中 既适用于数据没有明显的边界,有可能存在极端数据值的情况。也适用于数据有明显边界的情况 xscale=x−xmeansx_{s c a l e}... import numpy matrix = numpy.arange(0,27,3).reshape(3,3).astype(numpy.float64) row_sums = ormed_matrix.sum(axis=1) #axis=1代表对每一行进行标准化,为0则是对列 3 employment = np.array([ 4 55.70000076, 51.40000153, 50.5 , 75.69999695, 5 58.40000153, 40.09999847, 61.5 ... 大数据分析中许多情况下需要用到矩阵标准化(使该矩阵每一列的平均值为0,标准差为1)Here is the formula: (X-mean())/std()以上运算是按列进行的,因为通常大数据分析中的矩阵X N*M,其中每一行代表一个数据,而列代表不同的性质,既是N个数据,每个数据有M种性质应用:假设现在已经有一个.npy元数据文件,我们打算用numpy来将它标准化,于是首先将其load进来,然后... 对一个array设置mask后,数据类型变为`numpy.ma.core.MaskedArray` 对这种类型的矩阵进行一般的操作不会影响mask的部分 因此要对一个矩阵的某些部分进行处理,只需先挡住这些部分,剩下的部分正常处理,最后将挡住的部分恢复即可。下面的代码展示了对一个矩阵中所有非零数进行标准化的过程。