我正在研究数据预处理,并想实际比较数据标准化与规范化与鲁棒缩放器的优势。
理论上,指导方针是:
好处:
- 标准化:对特征进行缩放,使得分布以 0 为中心,标准差为 1。
- 标准化:缩小范围,使范围现在介于 0 和 1 之间(如果有负值,则为 -1 到 1)。
- Robust Scaler:类似于标准化,但它使用四分位数范围,因此它对异常值具有鲁棒性。
缺点:
- 标准化:如果数据不是正态分布(即没有高斯分布),则不好。
- 标准化:受到异常值(即极值)的严重影响。
- Robust Scaler:不考虑中位数,只关注大容量数据所在的部分。
我创建了20 个随机数字输入并尝试了上述方法(红色数字代表异常值):
我注意到 -实际上- 规范化受到异常值的负面影响,并且新值之间的变化比例变得很小(所有值几乎相同 -6 位后小数点0.000000x
- )即使原始输入之间存在明显差异!
我的问题是:
- 我是否正确地说标准化也会受到极端值的负面影响?如果不是,为什么根据提供的结果?
- 我真的看不到Robust Scaler如何改进数据,因为我在结果数据集中仍然有极值?任何简单的完整解释?