今天处理图片数据的时候,碰到了一个问题:假设有A, B, C, ......一共K个类别的数据,每一类分别有张图片,总计N张,要从中随机抽取T张作为测试样本(不重复抽取),该怎么抽样呢?
方案一:除最后一类之外,各类抽取张图片;最后一类抽取的图片。
方案一在该例中可能会报错:
若C为最后一类,则A,B两类分别抽取了1张图,则C需要抽取2张,超过了C类的图片数。
方案二:把方案一中的向下取整改为向上取整。
方案二在该例中可能会报错:
若C为最后一类,则A,B两类分别抽取了2张图,则C需要抽取-1张,这没法儿操作啊。。
方案三:设已经抽取了前m类,剩余的抽取空间为,剩余的抽取量为,第m+1类抽取,然后更新即可。通俗地说,就是从剩余的抽取量中按比例抽取。
这个方案代码实现起来也比较方便,此处不做展开。