[英]Undersampling with image data in 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回答了這個問題。
謝謝!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.