如果减去数据集的平均值会导致溢出怎么办?

时间:2017-01-25 17:06:03

标签: python numpy statistics dataset mean

我见过很多案例,其中一个减去数据集的平均值,旨在将均值“集中”为0(例如thisthisthis)。< / p>

就我而言,我有一个由256x256图像组成的数据集,其中每个位置都是一个字节(并且可以采用0到255之间的值)。我计算了数据集中每个像素的平均值,但是当我最终编写代码来减去均值时,我意识到这样做会导致溢出。

具体而言,我的数据集仅由两个“图片”ab组成,如下所示:

In [1]: a = np.array([[1, 1], [1, 1]], dtype = np.uint8)
In [2]: b = np.array([[9, 9], [9, 9]], dtype = np.uint8)
In [3]: dataset = np.array([a, b])
Out[18]: 
array([[[1, 1],
        [1, 1]],

       [[9, 9],
        [9, 9]]], dtype = np.uint8)

现在我的意思是:

In [20]: mean = dataset.mean(axis=0)
Out[19]: 
array([[ 5.,  5.],
       [ 5.,  5.]])

如果我尝试减去我得到的平均值:

In [28]: a - mean
Out[28]: 
array([[-4., -4.],  # Notice, here, that the `uint8` type was apparently
       [-4., -4.]]) # casted, and these values "overflew" into negative values

我在0中想到了“封顶”,但我注意到这种情况会发生在大约一半的数据集中,并且它看起来不是一个很好的解决方案。有什么建议吗? (或者这只是无人问津的事情?)

0 个答案:

没有答案