记录一下数据归一化的方法。有的数据集特征间的值差距太大,会影响深度学习的效果,实现数据的归一化,能够有效消除这个影响,代码展示的是将数据归一化[0,1]中。
import numpy as np
dataset=[[1,2,3],[0,3,4],[0,5,6],[0,1,1],[1,3000000,1],[1,90001,1]]#6行3列的矩阵,最后一列是标签
data = np.delete(dataset, -1, axis=1)
print(data)
labels=np.array(dataset,dtype=np.int32)[:,-1]
mmax = np.max(data, axis=0)#每个特征的最大值
mmin = np.min(data, axis=0)#每个特征最小值
for i in range(len(mmax)):
if mmax[i] == mmin[i]:#如果最大值等于最小值
mmax[i] += 0.000001
res = (data - mmin) / (mmax - mmin)#这个是归一化核心公式
res = np.c_[res,labels]#输出的是归一化后的数据和标签
print(res)
有不对的地方欢迎大家评论指出来。