归一化 (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的部分
因此要对一个矩阵的某些部分进行处理,只需先挡住这些部分,剩下的部分正常处理,最后将挡住的部分恢复即可。下面的代码展示了对一个矩阵中所有非零数进行标准化的过程。