【问题标题】:Sklearn - Data Biased Towards FalseSklearn - 数据偏向于错误
【发布时间】:2017-02-23 09:51:19
【问题描述】:

我正在使用各种 sklearn 分类器,但主要集中在决策树上。我觉得我有偏见的问题。这就是我正在使用的东西,

25k 训练记录集(总数据约为 500k 可用) 提供的实际数据中有 95% 是假的,因为客户通常会将这些数据标记为假

25k 训练记录包括 95% 错误和 5% 正确

在训练和测试时,我的准确率在 85% 到 94% 之间,具体取决于我使用的功能。有时,即使只有两个特征也能提供 90% 的准确率,而 20 个特征(我知道很重要)提高到 94%。我认为这是不正确的,我的感觉是,由于我提供的数据,存在一些偏向于虚假的偏见。我是否应该在我的训练集中包含更多的“真实”记录,也许使用 30k 记录,从我们的实际数据中添加另一组 5k 的“真实”值?

【问题讨论】:

  • 即使估算器将所有数据标记为假,也可能发生这种情况,您可以获得 95% 的准确率。

标签: python machine-learning scikit-learn


【解决方案1】:

有可能您的所有测试数据都是错误的,在这种情况下,始终选择错误可以获得 95% 的有效性。

你有一个类不平衡问题。这在许多现实世界的场景中都很典型。例如,艾滋病毒阳性病例很少有艾滋病毒阴性、癌细胞或欺诈交易。您需要了解 False Negatives 与 True Positives 的成本是多少,以便能够调整您的算法以使精度优于有效性等。

我会做的几件事:

  1. 做一个混淆矩阵 (http://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html) 这将帮助您检查有多少假阳性和真阳性
  2. 使用交叉验证来更好地混合训练/测试人群

【讨论】:

  • 再次感谢,这确实有很大帮助。现在我正在看这个(我的大脑似乎在工作)准确率接近 25%;这实际上与我的预期相差不远。我会继续努力。
猜你喜欢
  • 2015-01-31
  • 2018-10-23
  • 2021-12-31
  • 2018-11-12
  • 2023-04-04
  • 2019-11-17
  • 2015-10-15
  • 2016-09-18
  • 2013-02-15
相关资源
最近更新 更多