【问题标题】:How to handle noisy data to effectively build regression models?如何处理噪声数据以有效构建回归模型?
【发布时间】:2023-01-19 15:43:09
【问题描述】:
我的数据集有 4k 行和 10 列。数据有很多异常值,不是正态分布的。我没有进行异常值处理或缩放/转换。我做了 RFE 并选择了 5 个特征进行建模。我在训练和测试数据上得到了 0.93 r2 分数,但我的 MSE 非常高(60010869006)。如何在使用回归模型时处理噪声数据
火车MSE:161428894147.16986
测试MSE:60010869006.13406
火车美亚:32656.965643328014
测试美工:44556.38750475175
火车 R2:0.9344080790458971
测试 R2:0.9382632258022047
【问题讨论】:
标签:
machine-learning
data-science
artificial-intelligence
non-linear-regression
【解决方案1】:
使用回归模型时,处理可能影响模型性能的噪声数据非常重要。做这件事有很多种方法:
- 使用 Z-score 或 IQR 等方法从数据中识别并删除异常值。
- 使用最小-最大缩放、标准化或对数转换等技术缩放或转换数据以使其更符合正态分布。
- 使用 RFE、套索或岭回归等特征选择技术来选择最重要的特征。
- 使用 L1 和 L2 正则化等正则化技术来防止过度拟合并提高模型的泛化能力。
- 使用整体模型,例如随机森林、XGBoost 或梯度提升回归器,它们可以比线性模型更好地处理噪声和异常值。
- 使用其他评估指标,如平均绝对误差或中值绝对误差,而不是均方误差,它们对异常值不太敏感。
重要的是要考虑问题的性质和您正在处理的数据,并试验不同的方法以找到最佳方法。
您看到的结果表明您的模型存在高方差,这也称为过度拟合。训练 MSE 和 MAE 明显低于测试 MSE 和 MAE,训练集和测试集的 R2 分数相似。这表明该模型非常适合训练数据,但不能很好地泛化到测试数据。