Die Funktion ML.ROBUST_SCALER

In diesem Dokument wird die Funktion ML.ROBUST_SCALER beschrieben, mit der Sie einen numerischen Ausdruck mithilfe von Statistiken skalieren können, die gegenüber Ausreißern robust sind. Die Funktion führt die Skalierung durch, indem der Median entfernt und die Daten gemäß dem Quantilbereich skaliert werden.

Bei Verwendung in der TRANSFORM-Klausel werden der während des Trainings berechnete Medianwert und der Quantilbereich automatisch in der Vorhersage verwendet.

Syntax

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

Argumente

ML.ROBUST_SCALER verwendet die folgenden Argumente:

  • numerical_expression: der numerische Ausdruck, der skaliert werden soll.
  • quantile_range: ein Array von zwei INT64-Elementen, das den Quantilbereich angibt. Das erste Element stellt die untere Grenze des Bereichs dar. Es muss größer als 0 sein. Das zweite Element stellt die Obergrenze des Bereichs dar. Es muss größer als das erste Element, aber kleiner als 100 sein. Der Standardwert ist [25, 75].
  • with_median: ein BOOL-Wert, der angibt, ob die Daten zentriert sind. Bei TRUE zentriert die Funktion die Daten. Dazu wird Medianwert vor der Skalierung entfernt. Der Standardwert ist TRUE.
  • with_quantile_range: ein BOOL-Wert, der angibt, ob die Daten auf den Quantilbereich skaliert werden. Bei TRUE werden die Daten skaliert. Der Standardwert ist TRUE.

Ausgabe

ML.ROBUST_SCALER gibt einen Wert des Typs FLOAT64 zurück, der den skalierten numerischen Ausdruck darstellt.

Beispiel

Im folgenden Beispiel wird eine Reihe numerischer Ausdrücke zentriert und dann auf den Bereich [25, 75] skaliert:

SELECT f, ML.ROBUST_SCALER(f) OVER () AS output
FROM
  UNNEST([NULL, -3, 1, 2, 3, 4, 5]) AS f
ORDER BY f;

Die Ausgabe sieht dann ungefähr so aus:

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

Nächste Schritte