Función ML.ROBUST_SCALER

En este documento, se describe la función ML.ROBUST_SCALER, que te permite escalar una expresión numérica mediante estadísticas sólidas para los valores atípicos. La función realiza el escalamiento mediante la eliminación de la mediana y el escalamiento de los datos según el rango cuantil.

Cuando se usa en la cláusula TRANSFORM, el rango de cuantiles y la mediana que se calcularon durante el entrenamiento se usan de forma automática en la predicción.

Sintaxis

ML.ROBUST_SCALER(numerical_expression [, quantile_range] [, with_median] [, with_quantile_range]) OVER()

Argumentos

ML.ROBUST_SCALER toma los siguientes argumentos:

  • numerical_expression: la expresión numérica que se escalará.
  • quantile_range: un array de dos elementos INT64 que especifica el rango de cuantiles. El primer elemento proporciona el límite inferior del rango. Debe ser superior a 0. El segundo elemento proporciona el límite superior del rango. Debe ser mayor que el primer elemento, pero menor que 100. El valor predeterminado es [25, 75].
  • with_median: Un valor BOOL que especifica si los datos están centrados. Si es TRUE, la función centra los datos mediante la eliminación de la mediana antes del escalamiento. El valor predeterminado es TRUE.
  • with_quantile_range: Un valor BOOL que especifica si los datos se escalan al rango de cuantiles. Si es TRUE, los datos se escalan. El valor predeterminado es TRUE.

Salida

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

Ejemplo

En el siguiente ejemplo, se centra un conjunto de expresiones numéricas y, luego, se escala al rango [25, 75]:

SELECT f, ML.ROBUST_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 | -1.6666666666666667 |
|    1 | -0.3333333333333333 |
|    2 |                 0.0 |
|    3 |  0.3333333333333333 |
|    4 |  0.6666666666666666 |
|    5 |                 1.0 |
+------+---------------------+

¿Qué sigue?