一:目的
数据归一化(标准化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。
二:分为两类
最值归一化:适用于有边界的训练集
均值方差归一化:有无边界都适用
三:最值归一化(x-x(min))/(x(max)-x(min)),针对于每一列进行计算
x = np.random.randint(0,100,size=100) x = (x-np.min(x))/(np.max(x)-np.min(x)) print(x[:10]) x2 = np.random.randint(0,100,(50,2)) x2 = np.array(x2,dtype=float) x2[:,0] = (x2[:,0]-np.min(x2[:,0]))/(np.max(x2[:,0]-np.min(x2[:,0]))) x2[:,1] = (x2[:,1]-np.min(x2[:,1]))/(np.max(x2[:,1]-np.min(x2[:,1]))) plt.scatter(x2[:,0],x2[:,1]) plt.show()
四:均值方差归一化,(x-x(mean))/x(std),针对于每一列进行计算
X = np.random.randint(0,100,(50,2)) X = np.array(X,dtype=float) print(X[:10,:]) X[:,0] = (X[:,0]-np.mean(X[:,0]))/(np.std(X[:,0])) X[:,1] = (X[:,1]-np.mean(X[:,1]))/(np.std(X[:,1])) plt.scatter(X[:,0],X[:,1]) plt.show()