如何提高F1成绩进行分类

2024-06-01 06:29:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力预测是否有任何任务违反给定的截止日期(二进制分类问题)

我使用了逻辑回归、随机森林和XGBoost。对于类别标签1,他们的F1分数都在56%左右(即,仅阳性类别的F1分数)

我用过:

  • StandardScaler()
  • 用于超参数优化的GridSearchCV
  • 递归特征消除(用于特征选择)
  • SMOTE(数据集不平衡,因此我使用SMOTE从现有示例创建新示例)

尝试提高该模型的F分数

我还使用EnsembleVoteClassifier创建了一个集成模型。从图中可以看出,加权F分数为94%,而第1类(即积极类,表示任务将超过最后期限)的F分数仅为57%。 enter image description here

应用上述所有方法后,我已经能够将标签1的f1分数从6%提高到57%。但是,我不知道还有什么可以进一步提高标签1的F分数


Tags: 模型示例参数森林二进制分类标签逻辑
2条回答

您还应该尝试欠采样。一般来说,简单地更改算法不会有太大的改进。您应该研究更高级的基于集成的技术,这些技术是专门为处理类不平衡而设计的

您还可以尝试本文中使用的方法:https://www.sciencedirect.com/science/article/abs/pii/S0031320312001471

或者,您可以研究更高级的数据合成方法

显然,在数据集中只有相对较少的真1s样本会影响分类器的性能

你有一个“不平衡的数据”,0的样本比1的样本多得多。 处理不平衡数据有多种方法。你申请的每个学员都有自己的“窍门”。但是,您可以尝试对1s样本进行重新采样。也就是说,人为地增加数据集中1的比例

您可以在此处阅读有关不同选项的更多信息: https://towardsdatascience.com/methods-for-dealing-with-imbalanced-data-5b761be45a18

相关问题 更多 >