[英]How to improve F1 score for classification
我正在預測是否有任何任務違反給定的截止日期(二進制分類問題)
我使用過邏輯回歸、隨機森林和 XGBoost。 對於 class label 1(即僅正 class 的 F1 分數),所有這些都給出了大約 56% 的 F1 分數。
我用過:
嘗試提高這個 model 的 F 分數。
I've also created an ensemble model using EnsembleVoteClassifier
.As you can see from the picture, the weighted F score is 94% however the F score for class 1 (ie positive class which says that the task will cross the deadline) is just 57 %。
在應用上述所有這些方法后,我已經能夠將 label 1 的 f1 分數從 6% 提高到 57%。 但是,我不確定還可以做些什么來進一步提高 label 1 的 F 分數。
顯然,數據集中的 True 1s 樣本數量相對較少這一事實會影響分類器的性能。
你有一個“不平衡的數據”,你有更多的 0s 樣本而不是 1s。 有多種方法可以處理不平衡的數據。 您申請的每個學習者都有自己的“技巧”。 但是,您可以嘗試的一般方法是重新采樣 1s 樣本。 也就是說,人為地增加數據集中 1 的比例。
您可以在此處閱讀有關不同選項的更多信息: https://towardsdatascience.com/methods-for-dealing-with-imbalanced-data-5b761be45a18
您還應該嘗試使用欠采樣。 一般來說,簡單地改變算法不會有太大的改進。 您應該研究專門為處理 class 不平衡而設計的更高級的基於集成的技術。
也可以試試本文使用的方法: https://www.sciencedirect.com/science/article/abs/pii/S0031320312001471
或者,您可以研究更高級的數據合成方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.