【问题标题】:Decrease the False Negative Rate in signal prediction降低信号预测中的假阴性率
【发布时间】:2017-04-07 05:41:53
【问题描述】:

我目前正在开展一个项目,通过使用一些分类学习算法来估计信号,例如使用scikit-learn 的逻辑回归和随机森林。

我现在使用混淆矩阵来估计不同算法在预测中的性能,我发现两种算法都存在共同问题。也就是说,在所有情况下,虽然算法的准确率似乎相对较好(大约 90% - 93%),但与 TP 相比,FN 的总数相当高(FNR

提前感谢您的回复和帮助。

更新: 数据集极度不平衡 (8:1),总共有大约 180K 的观测值。我已经测试了几种重采样方法,例如 OSS、SMOTE(+Tomek 或 +ENN),但它们都没有返回好的结果。在这两种情况下,虽然召回率从 2.5% 上升到 20%,但准确率显着下降(从 60% 到 20%)。

【问题讨论】:

  • 你在使用图书馆吗?
  • 是的,我正在使用 Scikit。

标签: python scikit-learn classification


【解决方案1】:

您可能有一个不平衡的数据集,其中一个类的示例比其他类多。

一种解决方案是用更少的示例来提高错误分类的成本。

Cross Validated 中的这个问题涵盖了许多解决您问题的方法: https://stats.stackexchange.com/questions/131255/class-imbalance-in-supervised-machine-learning

编辑:

鉴于您使用的是scikit-learn,作为第一种方法,您可以在Logistic regression 上将参数class_weight 设置为balanced

【讨论】:

  • 没错,数据集非常不平衡(大约 8:1)。我已经尝试了一些重新采样的方法,例如 SMOTE,但它们都没有返回好的结果。
  • 那你能给我们更多的信息吗?喜欢发布混淆矩阵和一些数据样本?
  • 感谢您的快速回复。我也尝试将 class_weight 平衡,但准确率下降到 75% 左右。
  • 由于某种原因,数据有点机密,所以我将发布混淆矩阵。
猜你喜欢
  • 2016-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-10
  • 1970-01-01
  • 2011-08-07
相关资源
最近更新 更多