从数据集中排除噪声数据来训练模型是否是个好主意?

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

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

任何建议都将不胜感激!


回答:

这取决于你的应用。如果噪声数据是有效的,那么肯定要包含它,以找到最佳模型。

然而,如果噪声数据是无效的,那么在拟合模型之前应该清理掉这些数据。

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

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

因此,我的建议是根据两点来构建你的判断:

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

噪声数据本身不会造成巨大的问题。极端的噪声数据(即极端值/异常值)是你真正应该关注的!这些点会在拟合数据时调整模型的假设。因此,结果可能会发生巨大偏移/错误。

最后,你可以查看Pyod开源Python工具箱,其中包含许多现成的不同算法实现。(你可以选择多个算法并创建一个投票池来决定观测值的极端程度)。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注