Toggle Menu
Prev Up Next

scikit-learn 1.3.2
Other versions

Please cite us if you use the software.

# `sklearn.preprocessing`.maxabs_scale

sklearn.preprocessing.maxabs_scale(X, *, axis=0, copy=True)

  Scale each feature to the [-1, 1] range without breaking the sparsity.

  This estimator scales each feature individually such that the maximal absolute value of each feature in the training set will be 1.0.

  This scaler can also be applied to sparse CSR or CSC matrices.

  Parameters:
    X{array-like, sparse matrix} of shape (n_samples, n_features)

      The data.

    axis{0, 1}, default=0

      Axis used to scale along. If 0, independently scale each feature, otherwise (if 1) scale each sample.

    copy bool, default=True

      Set to False to perform inplace scaling and avoid a copy (if the input is already a numpy array).

  Returns:
    X_tr{ndarray, sparse matrix} of shape (n_samples, n_features)

      The transformed data.

    Warning

    Risk of data leak Do not use `maxabs_scale` unless you know what you are doing. A common mistake is to apply it to the entire data before splitting into training and test sets. This will bias the model evaluation because information would have leaked from the test set to the training set. In general, we recommend using `MaxAbsScaler` within a Pipeline in order to prevent most risks of data leaking: `pipe = make_pipeline(MaxAbsScaler(), LogisticRegression())`.

  See also

  `MaxAbsScaler`

    Performs scaling to the [-1, 1] range using the Transformer API (e.g. as part of a preprocessing `Pipeline`).

  Notes

  NaNs are treated as missing values: disregarded to compute the statistics, and maintained during the data transformation.

  For a comparison of the different scalers, transformers, and normalizers, see: Compare the effect of different scalers on data with outliers.