Funktion ML.MAX_ABS_SCALER

In diesem Dokument wird die Funktion ML.MAX_ABS_SCALER beschrieben, mit der Sie einen numerischen Ausdruck auf den Bereich [-1, 1] skalieren können, indem Sie ihn durch den maximalen absoluten Wert teilen. Die Daten werden nicht verschoben oder zentriert und daher wird keine dünne Besetzung zerstört.

Bei Verwendung in der TRANSFORM-Klausel wird der maximale absolute Wert, der während des Trainings berechnet wird, automatisch in der Vorhersage genutzt.

Syntax

ML.MAX_ABS_SCALER(numerical_expression) OVER()

Argumente

ML.MAX_ABS_SCALER verwendet das folgende Argument:

  • numerical_expression: der numerische Ausdruck, der skaliert werden soll.

Ausgabe

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

Beispiel

Im folgenden Beispiel wird ein Satz numerischer Ausdrücke skaliert, um Werte zwischen -1 und 1 auszugeben:

SELECT f, ML.MAX_ABS_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 |   -0.6 |
|    1 |    0.2 |
|    2 |    0.4 |
|    3 |    0.6 |
|    4 |    0.8 |
|    5 |    1.0 |
+------+--------+

Nächste Schritte