gpt4 book ai didi

python - 规范化 2D Numpy 数组 : Zero Mean Unit Variance

转载 作者:太空狗 更新时间:2023-10-29 21:22:05 28 4
gpt4 key购买 nike

我有一个二维 Numpy 数组,我想在其中将每一列标准化为零均值和单位方差。因为我主要使用 C++,所以我正在做的方法是使用循环迭代列中的元素并执行必要的操作,然后对所有列重复此操作。我想知道这样做的 Pythonic 方式。

class_input_data 成为我的二维数组。我可以得到列的意思是:

column_mean = numpy.sum(class_input_data, axis = 0)/class_input_data.shape[0]

然后我通过以下方式从所有列中减去平均值:

class_input_data = class_input_data - column_mean

到目前为止,数据应该是零均值。但是,值:

numpy.sum(class_input_data, axis = 0)

不等于 0,暗示我在规范化时做错了什么。 By 不等于 0,我指的不是非常小的数字,因为 float 不准确。

最佳答案

类似于:

import numpy as np

eg_array = 5 + (np.random.randn(10, 10) * 2)
normed = (eg_array - eg_array.mean(axis=0)) / eg_array.std(axis=0)

normed.mean(axis=0)
Out[14]:
array([ 1.16573418e-16, -7.77156117e-17, -1.77635684e-16,
9.43689571e-17, -2.22044605e-17, -6.09234885e-16,
-2.22044605e-16, -4.44089210e-17, -7.10542736e-16,
4.21884749e-16])

normed.std(axis=0)
Out[15]: array([ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])

关于python - 规范化 2D Numpy 数组 : Zero Mean Unit Variance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31152967/

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