NumPy数组的最小-最大归一化

我有以下numpy数组:

foo = np.array([[0.0, 10.0], [0.13216, 12.11837], [0.25379, 42.05027], [0.30874, 13.11784]])

产生:

[[  0.       10.     ]

[ 0.13216 12.11837]

[ 0.25379 42.05027]

[ 0.30874 13.11784]]

如何标准化此数组的Y分量。所以它给了我类似的东西:

[[  0.       0.   ]

[ 0.13216 0.06 ]

[ 0.25379 1 ]

[ 0.30874 0.097]]

回答:

参考此交叉验证链接,如何将数据标准化到0-1范围?,看来您可以在的最后一列执行最小-最大规格化foo

v = foo[:, 1]   # foo[:, -1] for the last column

foo[:, 1] = (v - v.min()) / (v.max() - v.min())

foo

array([[ 0. , 0. ],

[ 0.13216 , 0.06609523],

[ 0.25379 , 1. ],

[ 0.30874 , 0.09727968]])


执行规范化的另一种方法(由OP建议)是使用sklearn.preprocessing.normalize,其产生的结果略有不同-

from sklearn.preprocessing import normalize

foo[:, [-1]] = normalize(foo[:, -1, None], norm='max', axis=0)

foo

array([[ 0. , 0.2378106 ],

[ 0.13216 , 0.28818769],

[ 0.25379 , 1. ],

[ 0.30874 , 0.31195614]])

以上是 NumPy数组的最小-最大归一化 的全部内容, 来源链接: utcz.com/qa/406407.html

回到顶部