The ML.MAX_ABS_SCALER function
This document describes the ML.MAX_ABS_SCALER
function, which lets you
scale a numerical expression to the range [-1, 1]
by dividing with the maximum absolute value. It doesn't
shift or center the data, and so doesn't destroy any sparsity.
When used in the TRANSFORM
clause
,
the maximum absolute value calculated during training is automatically
used in prediction.
You can use this function with models that support manual feature preprocessing . For more information, see the following documents:
Syntax
ML.MAX_ABS_SCALER(numerical_expression) OVER()
Arguments
ML.MAX_ABS_SCALER
takes the following argument:
-
numerical_expression: the numerical expression to scale.
Output
ML.MAX_ABS_SCALER
returns a FLOAT64
value that represents the scaled
numerical expression.
Example
The following example scales a set of numerical expressions to have values
between -1
and 1
:
SELECT f , ML . MAX_ABS_SCALER ( f ) OVER () AS output FROM UNNEST ([ NULL , - 3 , 1 , 2 , 3 , 4 , 5 ]) AS f ORDER BY f ;
The output looks similar to the following:
+------+--------+ | f | output | +------+--------+ | NULL | NULL | | -3 | -0.6 | | 1 | 0.2 | | 2 | 0.4 | | 3 | 0.6 | | 4 | 0.8 | | 5 | 1.0 | +------+--------+
What's next
- For information about feature preprocessing, see Feature preprocessing overview .

