大数据分析中许多情况下需要用到矩阵标准化(使该矩阵每一列的平均值为0,标准差为1)
Here is the formula: (X-mean())/std()
以上运算是按列进行的,因为通常大数据分析中的矩阵X N*M,其中每一行代表一个数据,而列代表不同的性质,既是N个数据,每个数据有M种性质
应用:
假设现在已经有一个.npy元数据文件,我们打算用numpy来将它标准化,于是首先将其load进来,然后分别计算mean和std,如下:
import numpy as np
X = np.load('data.npy')
X-=np.mean(X,axis=0)
X/=np.std(X,axis=0)
有必要解释一下numpy中的这两个函数
np.mean(X,axis=0) 表示按列求X的平均值,axis=0表示按列进行
np.std(X,axis=0) 表示按列求X的标准差,axis=0表示按列进行
关于这两个函数的用法和参数,详见这里https://docs.scipy.org/doc/numpy/reference/generated/numpy.std.html
于是现在便得到了X的标准化矩阵了
当然我们之后还能将它显示出来,将矩阵生成图形之后,plt.show()显示图形即可