Función ML.MAX_ABS_SCALER

En este documento, se describe la función ML.MAX_ABS_SCALER, que te permite escalar una expresión numérica al rango [-1, 1] mediante la división con el valor absoluto máximo. No cambia ni centra los datos, por lo que no destruye la dispersión.

Cuando se usa en la cláusula TRANSFORM, el valor absoluto máximo calculado durante el entrenamiento se usa de forma automática en la predicción.

Sintaxis

ML.MAX_ABS_SCALER(numerical_expression) OVER()

Argumentos

ML.MAX_ABS_SCALER toma el siguiente argumento:

  • numerical_expression: la expresión numérica que se escalará.

Resultado

ML.MAX_ABS_SCALER muestra un valor FLOAT64 que representa la expresión numérica escalada.

Ejemplo

En el siguiente ejemplo, se escala un conjunto de expresiones numéricas para que tengan valores entre -1 y 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;

El resultado es similar al siguiente:

+------+--------+
|  f   | output |
+------+--------+
| NULL |   NULL |
|   -3 |   -0.6 |
|    1 |    0.2 |
|    2 |    0.4 |
|    3 |    0.6 |
|    4 |    0.8 |
|    5 |    1.0 |
+------+--------+

¿Qué sigue?