[英]Feature Engineering on imbalanced data
我正在訓練一個關於分類問題的機器學習模型。 我的數據集是10000 個觀察值,包含37 個分類類別。 但是數據不平衡,我有一些類有100 個觀測值,而其他一些類有3000和4000 個觀測值。
在搜索了如何對此類數據進行一些特征工程以提高算法的性能之后。 我找到了2個解決方案:
根據第一個解決方案:我有很多班級有一些觀察,所以它需要更多的數據和很長的時間。 所以這對我來說會很困難!
通過應用第二個:我認為所有類都會有一些觀察結果,並且數據將非常小,因此算法很難概括。
那么我可以嘗試解決這個問題的另一種解決方案嗎?
您可以更改損失函數中的權重,以便在優化時較小的類具有更大的重要性。 例如,在 keras 中,您可以使用weighted_cross_entropy_with_logits 。
您可以將兩者結合使用。
如果您對所有少數類進行上采樣以匹配多數類,那么您似乎擔心會得到過大的數據集。 如果是這種情況,您可以將多數類下采樣到 25% 或 50%,同時上采樣少數類。 上采樣的一種替代方法是使用 SMOTE 等算法為少數類合成樣本。
如果您正在批量訓練神經網絡,最好確保訓練集被正確打亂,並且您在小批量中擁有偶數/多數樣本的均勻分布。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.