我是自学python并且发现了一个需要对特征向量进行下采样的问题.我需要一些帮助来理解如何对数组进行下采样.在数组中,每一行通过数字0
来表示图像255
.我很想知道你如何对阵列进行下采样?我不想,scikit-learn
因为我想了解如何应用下采样.如果你能解释下采样,那将是非常棒的谢谢.
特征向量为400x250
如果使用下采样你的意思是这样的,你可以简单地切片阵列.对于一维示例:
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]
对于2D阵列,想法是一样的:
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)
Numpy手册中有很多其他例子