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