gpt4 book ai didi

python - NumPy 数组的最小-最大规范化

转载 作者:太空宇宙 更新时间:2023-11-03 12:36:40 26 4
gpt4 key购买 nike

我有以下 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]]

最佳答案

引用这个交叉验证链接,How to normalize data to 0-1 range? ,看起来您可以对 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]])

关于python - NumPy 数组的最小-最大规范化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48178884/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com