不平衡的数据集无法产生良好的“精度”或“召回率”

时间:2018-08-20 09:30:10

标签: machine-learning random-forest

数据集极不平衡,阳性结果与阴性结果相比大约只有10%。例如:(0-11401,1- 1280)。

我尝试了
1. RandomForestClassifierGridSearchCV-超参数调整。
2.带有class_weight="balanced"
的加权RandomForest 3.受罚的SVC
4.上采样和下采样

尽管如此,我在上述任何一种方法中都无法获得很好的精度或召回率。 我知道患病率与PPV有关。而且我的数据集的等级为-1。另外,Random Forest可能会占多数。

但是我希望采样应该工作,但是没有。我想念什么吗?任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

一些方法可以帮助您:

  • 预测概率并进行手动阈值设置。
  • 更改您正在使用的损耗/指标。
  • 对于不平衡数据集(异常值检测),您不应使用class_weight = balance,而应将更多权重应用于异常值。
  • 尝试其他算法,看看是否有更好的算法(如果要坚持使用基于树的解决方案,请使用XGBoost,catboost,lightgbm)
  • 我们还可以使用tpot在sklearn中为您的特定数据集找到最佳算法

告诉我是否有任何帮助