我有一個分類問題,其中感興趣的類只有數據集的7%,整個人口大約有1200個觀察值。卷積神經網絡中的不平衡類
據我所知,來自Keras的ImageDataGenerator
有助於增加數據以在訓練模型之前增加觀察次數,但是是否可以只增加一個類,如增加噪聲,模糊或僅對少數類進行變換?
我有一個分類問題,其中感興趣的類只有數據集的7%,整個人口大約有1200個觀察值。卷積神經網絡中的不平衡類
據我所知,來自Keras的ImageDataGenerator
有助於增加數據以在訓練模型之前增加觀察次數,但是是否可以只增加一個類,如增加噪聲,模糊或僅對少數類進行變換?
你既可以嘗試與配合()函數,它接受一個字典映射類的權重值class_weight參數平衡。你甚至可以使用sklearn來計算適當的類別權重。見PSCS答案在這裏:https://datascience.stackexchange.com/questions/13490/how-to-set-class-weights-for-imbalanced-classes-in-keras
或者你可以使用Keras ImageDateGenerator與flow_from_directory()和圖像增強運行保存到與save_to_dir參數從而產生代表性不足類的多個實例的目錄:https://keras.io/preprocessing/image/#imagedatagenerator
對於假運行你只提供你想要更多樣本的班級樣本。
然後,您可以使用您的平衡訓練和驗證數據進行實際訓練。
有一個機器學習工具包,允許您對圖像進行增強處理,包括變換,縮放/ Strech,噪聲和模糊。
的圖像增強因子可以在這裏找到: https://github.com/codebox/image_augmentor