归一化后的数据校验:RobustScaler与MaxAbsScaler校验方法咨询
针对RobustScaler和MaxAbsScaler的归一化校验方法
你已经用代码验证了StandardScaler的归一化结果(均值0、标准差1),下面结合RobustScaler和MaxAbsScaler的缩放原理,给出对应的校验逻辑和代码:
RobustScaler 校验逻辑
RobustScaler基于中位数和四分位数范围(IQR,即上四分位数Q3减下四分位数Q1)缩放,公式为 (X - 中位数) / IQR。归一化后的数据需满足:
- 列的中位数为0
- 列的四分位数范围(IQR)为1
对应校验代码:
import pandas as pd for col in df_norm.columns: median = df_norm[col].median() q1 = df_norm[col].quantile(0.25) q3 = df_norm[col].quantile(0.75) iqr = q3 - q1 print(f'{col}: 中位数={median:.4f}, IQR={iqr:.4f}')
MaxAbsScaler 校验逻辑
MaxAbsScaler通过将每个特征除以自身的最大绝对值,把数据缩放至[-1,1]区间。归一化后的数据需满足:
- 列的最大绝对值为1(若原列存在非零值;若原列全为0,最大绝对值仍为0)
对应校验代码:
import numpy as np for col in df_norm.columns: max_abs = np.max(np.abs(df_norm[col])) print(f'{col}: 最大绝对值={max_abs:.4f}')
内容的提问来源于stack exchange,提问作者Andinanos
相关产品推荐
相关产品推荐

