首页 > 解决方案 > 从数据集中排除噪声数据来训练模型是个好主意吗?

问题描述

从数据集中排除噪声数据(这可能会降低模型准确性或导致测试数据集出现意外输出)以生成训练和验证数据集是否是个好主意?

假设:噪声数据是我们预先知道的

任何建议都非常感谢!

标签: machine-learningdatasetdata-science

解决方案


这取决于您的应用程序。如果嘈杂的数据是有效的,那么一定要包含它以找到最佳模型。

但是,如果噪声数据无效,则应在拟合模型之前将其清除。

噪声是一个广义术语,您最好将它们视为内点或异常值。

大多数异常值检测算法都指定一个阈值并根据给定的分数对异常值候选者进行排序。在这种情况下,您可以选择根除最极端的值。例如,远离平均值的 3xSTD(当然这是在你有一个类似高斯的分布式数据集的情况下)。

所以我的建议是基于两件事来建立你的判断:

  1. 您关于有效性与无效性的业务概念和逻辑。例如:房屋大小、面积或价格不能为负数。
  2. 你的数学/算法逻辑。例如:根据某个阈值检测极值,以决定(连同/不带第 1 点)它是否是有效的观察值。

嘈杂的数据本身不会造成大问题。极端嘈杂的数据(即极端值/异常值)是您真正应该关注的数据!这些点会在拟合数据时调整模型的假设。因此,结果可能会急剧变化/不正确。

最后,您可以查看Pyod开源 Pythonic 工具箱,其中包含许多现成的不同算法。(您可以选择多个算法并创建一个投票池来决定观察结果的极端性)。


推荐阅读