我试图规范多个数组中的数字。我有10个数组,每个数组有5个数字。我已经能够规范化我的第一个数组,但所有其他数组都从第一个数组中获取参数。我的代码规范功能:
normfeatures = (features - np.min (features)) / (np.max(features) - np.min(features))
我怎样才能使每个数组从自己的数组中获取最小值和最大值,而不是第一个数组中的最小值和最大值?
答案 0 :(得分:0)
您可以随时使用sklearn的Normalizer
,但如果您想使用numpy
import numpy as np
#Same size
X = np.random.randint(-5,5,size = (10,5))
mins = X.min(axis = 1)
maxs = X.max(axis = 1)
X_normalized = (X - mins[:,None])/(maxs[:,None] - mins[:, None])
这将按行进行标准化。如果要按列进行标准化,可以先转置数据,然后在转置之前应用此过程。或者,您可以使用sklearn的实现。