在我训练机器学习模型时,标准化/标准化是减少异常值影响的好方法吗?

数据挖掘 机器学习 机器学习模型 正常化 离群值
2022-02-19 01:49:42

最近,我阅读了一些论文,其中作者声明他们已经对变量进行了标准化/归一化,以减少异常值在使用数据训练的机器学习模型中的影响。

是否有意义?为什么?

我认为异常值和其他值之间的差异仍然存在于标准化后的数据中。

1个回答

当然,经典的技术,例如 min-max scaler 和 z-score normalization,只是改变了值的范围,因此容易出现异常值,并不能解决问题。

但是,只要满足一些条件,这些论文可能提出的建议是有道理的。在这种情况下,我将尝试总结我能想到的关于规范化和标准化的所有内容。

  • 虽然不完全准确,但如果您的数据遵循幂律分布,您可以使用对数函数(对数缩放)缩放数据。这会将您的数据分布更改为“更窄”的规模,最终减少异常值的潜在影响。

  • 特征裁剪:如果您的数据集具有极端异常值,您始终可以将特征裁剪为固定数值(或固定值 +- 3 std(标准偏差))。这会导致信息丢失,但会有效地对抗异常值在您的分析中的影响。

  • 强大的定标器:当您的数据集中有许多异常值实例时,您可以用中位数除以 IQR = 数据的第 75 个百分位数和第 25 个百分位数之间的差值对数据进行归一化。尽管存在这些极端点,但这不会否定异常值在您的机器学习模型中的影响,而是会正确地规范您的数据。

您始终可以使用基于树的算法或神经网络进行分析,这些算法对异常值具有鲁棒性。