如何处理标签不可靠的数据集

数据挖掘 分类 数据清理 预处理
2022-02-19 08:18:46

我有一个属于三个不同类别的数据集:A、B 和 C。在这三个类别中,标签 C 的分类与其他两个类别相比是不可靠的。换句话说,C 类中的一些样本实际上属于 A 类和 B 类。现在,我需要运行一些监督学习(逻辑回归、决策树和随机森林)模型。根据混淆矩阵,A和B之间的分类是比较准确的,但是C和其他两个类之间的分类是不能接受的。我想知道是否有任何方法可以处理这个问题?

目前,我正在考虑在运行模型之前对 C 类中的样本使用聚类算法。将 C 类的样本分成 3 组后,尝试找到一个相对较好的组作为 C 类的数据集。

1个回答

您有一个常见问题,即您的学习数据嘈杂。当然,如果您可以做任何事情来改善您的数据/使用更多数据,那么这就是您要走的路。但我认为手动清洁是不可能的。

噪音的原因?

机器学习中有不同的方法来处理噪声数据。这在很大程度上取决于您的噪音来自哪里。它有助于理解为什么您的标签不正确。在您的情况下,这听起来像是一个结构性错误,您在某些条件下系统地错误分类。

解决噪声数据问题的机器学习方法

除了简单的规则(如果适用)之外,还有更复杂的方法来解决这个问题。有许多论文(例如thisthisthis)提出了以下不同的变体:

  1. 手动创建一小部分清洁标签
  2. 在干净和嘈杂的标签上训练网络
  3. 使用额外的网络(或层)来创建从嘈杂标签到干净标签的映射或了解噪声分布

通过这种方式,您可以尝试让网络认识到自己的错误。其中一些模型相当复杂,而另一些则相当复杂。甚至还有一篇论文训练网络对噪声进行分类,然后根据特征+噪声分类进行预测。

我不确定是否有任何最佳实践,但哪种架构在哪种情况下效果最好。您可能需要尝试一些替代方案。