我是自学 python 的,发现一个问题需要对特征向量进行下采样。我需要一些帮助来了解如何对数组进行下采样。在数组中,每一行代表一个图像,是从 0
到 255
的数字。我想知道您如何对阵列应用下采样?我不想 scikit-learn
因为我想了解如何应用下采样。
如果您也能解释下采样,那将是非常感谢的。
特征向量为400x250
最佳答案
如果缩减采样意味着什么 like this ,您可以简单地对数组进行切片。对于一维示例:
import numpy as np
a = np.arange(1,11,1)
print(a)
print(a[::3])
最后一行相当于:
print(a[0:a.size:3])
切片符号为 start:stop:step
结果:
[ 1 2 3 4 5 6 7 8 9 10]
[ 1 4 7 10]
对于二维数组,思路是一样的:
b = np.arange(0,100)
c = b.reshape([10,10])
print(c[::3,::3])
这会在两个维度上为您提供原始数组中的每三个项目。
或者,如果您只想对单个维度进行降采样:
d = np.zeros((400,250))
print(d.shape)
e = d[::10,:]
print(e.shape)
(400, 250)
(40, 250)
the Numpy manual 中还有许多其他示例
关于python - 在 python 中对二维 numpy 数组进行下采样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34231244/