maxabs_scale#
- sklearn.preprocessing.maxabs_scale(X, *, axis=0, copy=True)[源代码]#
将每个功能扩展到 [-1, 1] 范围而不破坏稀疏性。
该估计器单独缩放每个特征,使得训练集中每个特征的最大绝对值为1.0。
该缩放器还可以应用于稀疏CSR或CSC矩阵。
- 参数:
- X形状(n_samples,n_features)的{类数组,稀疏矩阵}
数据。
- axis{0,1},默认值=0
轴用于缩放。如果为0,则独立缩放每个特征,否则(如果为1)缩放每个样本。
- copy布尔,默认=True
如果为假,请尽量避免复制并就地缩放。并不能保证这始终有效;例如,如果数据是具有int dype的numpy数组,即使具有Copy=False,也会返回副本。
- 返回:
- X_tr{ndarray,sparse matrix}的形状(n_samples,n_features)
转换后的数据。
警告
数据泄露风险不要使用
maxabs_scale
除非你知道你在做什么。一个常见的错误是将其应用于整个数据 before 分为训练集和测试集。这将使模型评估产生偏差,因为信息会从测试集泄露到训练集。一般来说,我们建议使用MaxAbsScaler
内 Pipeline 为了防止大多数数据泄露风险:pipe = make_pipeline(MaxAbsScaler(), LogisticRegression())
.
参见
MaxAbsScaler
执行扩展到 [-1, 1] 使用Transformer API的范围(例如作为预处理的一部分
Pipeline
).
注意到
NaN被视为缺失值:在计算统计数据时被忽略,并在数据转换期间进行维护。
有关不同缩放器、转换器和规范器的比较,请参阅: 比较不同缩放器对数据的影响与离群值 .
示例
>>> from sklearn.preprocessing import maxabs_scale >>> X = [[-2, 1, 2], [-1, 0, 1]] >>> maxabs_scale(X, axis=0) # scale each column independently array([[-1. , 1. , 1. ], [-0.5, 0. , 0.5]]) >>> maxabs_scale(X, axis=1) # scale each row independently array([[-1. , 0.5, 1. ], [-1. , 0. , 1. ]])