La funzione ML.ROBUST_SCALER

Questo documento descrive la funzione ML.ROBUST_SCALER, che consente di scalare un'espressione numerica utilizzando statistiche affidabili ai valori anomali. La funzione esegue la scalabilità rimuovendo la mediana e scalando i dati in base all'intervallo quantile.

Se utilizzata nella clausola TRANSFORM, l'intervallo mediana e di quantili calcolati durante l'addestramento vengono utilizzati automaticamente nella previsione.

Sintassi

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

Argomenti

ML.ROBUST_SCALER accetta i seguenti argomenti:

  • numerical_expression: l'espressione numerica da scalare.
  • quantile_range: un array di due elementi INT64 che specifica l'intervallo di quantili. Il primo elemento indica il limite inferiore dell'intervallo. Deve essere maggiore di 0. Il secondo elemento fornisce il confine superiore dell'intervallo. Deve essere maggiore del primo elemento ma minore di 100. Il valore predefinito è [25, 75].
  • with_median: un valore BOOL che specifica se i dati sono centrati. Se TRUE, la funzione centra i dati rimuovendo la mediana prima della scalabilità. Il valore predefinito è TRUE.
  • with_quantile_range: un valore BOOL che specifica se i dati vengono ridimensionati sull'intervallo di quantili. Se TRUE, i dati vengono ridimensionati. Il valore predefinito è TRUE.

Output

ML.ROBUST_SCALER restituisce un valore FLOAT64 che rappresenta l'espressione numerica in scala.

Esempio

L'esempio seguente centra un insieme di espressioni numeriche e poi lo scala all'intervallo [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;

L'output è simile al seguente:

+------+---------------------+
|  f   |       output        |
+------+---------------------+
| NULL |                NULL |
|   -3 | -1.6666666666666667 |
|    1 | -0.3333333333333333 |
|    2 |                 0.0 |
|    3 |  0.3333333333333333 |
|    4 |  0.6666666666666666 |
|    5 |                 1.0 |
+------+---------------------+

Passaggi successivi