欠采样的主要思想是随机删除具有足够观察值的类,以便两个类的比较比率在我们的数据中是显着的。那么,如何在 python 中对图像数据进行欠采样呢?请帮我:(
我从 Kaggle 获取眼底图像数据。有 5 个类别的 35127 张图像。0类:25810数据,1类:2443数据,2类:5292数据,3类:873数据,4类:708数据,
我希望每个班级在第 4 节课之后有多达 708 张图像。如何删除 Python 中的其余图像?
欠采样的主要思想是随机删除具有足够观察值的类,以便两个类的比较比率在我们的数据中是显着的。那么,如何在 python 中对图像数据进行欠采样呢?请帮我:(
我从 Kaggle 获取眼底图像数据。有 5 个类别的 35127 张图像。0类:25810数据,1类:2443数据,2类:5292数据,3类:873数据,4类:708数据,
我希望每个班级在第 4 节课之后有多达 708 张图像。如何删除 Python 中的其余图像?
我知道这是一个老问题,但为了人们寻找答案,这段代码完美运行:
path = r'C:/The_Path'# You can provide the path here
n = 2500 # Number of random images to be removed
img_names = os.listdir(path) # Get image names in folder
img_names = random.sample(img_names, n) # Pick 2500 random images
for image in img_names: # Go over each image name to be deleted
f = os.path.join(path, image) # Create valid path to image
os.remove(f) # Remove the image
正如您的问题所述,您希望所有类都等于第 4 类,即 708 个图像。只需找出差异并替换n,例如,第3类图像和708图像之间的差异为165图像,因此n = 165。此外,您可以将其制成一个函数以对其进行更多概括。
代码取自,但经过编辑:
https://stackoverflow.com/users/10512332/vikrant-sharma回答了这个问题。
谢谢!