最近,我阅读了一些论文,其中作者声明他们已经对变量进行了标准化/归一化,以减少异常值在使用数据训练的机器学习模型中的影响。
是否有意义?为什么?
我认为异常值和其他值之间的差异仍然存在于标准化后的数据中。
最近,我阅读了一些论文,其中作者声明他们已经对变量进行了标准化/归一化,以减少异常值在使用数据训练的机器学习模型中的影响。
是否有意义?为什么?
我认为异常值和其他值之间的差异仍然存在于标准化后的数据中。
当然,经典的技术,例如 min-max scaler 和 z-score normalization,只是改变了值的范围,因此容易出现异常值,并不能解决问题。
但是,只要满足一些条件,这些论文可能提出的建议是有道理的。在这种情况下,我将尝试总结我能想到的关于规范化和标准化的所有内容。
虽然不完全准确,但如果您的数据遵循幂律分布,您可以使用对数函数(对数缩放)缩放数据。这会将您的数据分布更改为“更窄”的规模,最终减少异常值的潜在影响。
特征裁剪:如果您的数据集具有极端异常值,您始终可以将特征裁剪为固定数值(或固定值 +- 3 std(标准偏差))。这会导致信息丢失,但会有效地对抗异常值在您的分析中的影响。
强大的定标器:当您的数据集中有许多异常值实例时,您可以用中位数除以 IQR = 数据的第 75 个百分位数和第 25 个百分位数之间的差值对数据进行归一化。尽管存在这些极端点,但这不会否定异常值在您的机器学习模型中的影响,而是会正确地规范您的数据。
您始终可以使用基于树的算法或神经网络进行分析,这些算法对异常值具有鲁棒性。