Die Funktion ML.LABEL_ENCODER

In diesem Dokument wird die Funktion ML.LABEL_ENCODER beschrieben, mit der Sie einen Stringausdruck in einen INT64-Wert in [0, <number of categories>] codieren können.

Das Codierungsvokabular ist alphabetisch angeordnet. NULL-Werte und Kategorien, die nicht im Vokabular enthalten sind, werden mit 0 codiert.

Bei Verwendung in der TRANSFORM-Klausel werden die beim Training berechneten Vokabularwerte zusammen mit den obersten k- und Häufigkeitsschwellenwerten, die angegebenen Bedingungen werden automatisch in der Vorhersage verwendet.

Syntax

ML.LABEL_ENCODER(string_expression [, top_k] [, frequency_threshold]) OVER()

ML.LABEL_ENCODER verwendet die folgenden Argumente:

  • string_expression: der zu codierende STRING-Ausdruck.
  • top_k: ein INT64-Wert, der die Anzahl der im Codierungsvokabular enthaltenen Kategorien angibt. Die Funktion wählt die top_k am häufigsten vorkommenden Kategorien in den Daten aus und verwendet diese. Kategorien unterhalb dieses Schwellenwerts werden zu 0 codiert. Dieser Wert muss kleiner als 1,000,000 sein, um Probleme wegen hoher Dimensionalität zu vermeiden. Der Standardwert ist 32,000.
  • frequency_threshold: Ein INT64-Wert, der die Kategorien im Codierungsvokabular anhand der Kategoriehäufigkeit begrenzt. Die Funktion verwendet Kategorien, deren Häufigkeit größer oder gleich frequency_threshold ist. Kategorien unterhalb dieses Schwellenwerts werden mit 0 codiert. Der Standardwert ist 5.

Ausgabe

ML.LABEL_ENCODER gibt einen Wert des Typs INT64 zurück, der den codierten Stringausdruck darstellt.

Beispiel

Im folgenden Beispiel wird die Labelcodierung für eine Reihe von Stringausdrücken durchgeführt. Sie beschränkt das Codierungsvokabular auf die beiden Kategorien, die in den Daten am häufigsten und auch zweimal vorkommen.

SELECT f, ML.LABEL_ENCODER(f, 2, 2) OVER () AS output
FROM UNNEST([NULL, 'a', 'b', 'b', 'c', 'c', 'c', 'd', 'd']) AS f
ORDER BY f;

Die Ausgabe sieht dann ungefähr so aus:

+------+--------+
|  f   | output |
+------+--------+
| NULL |      0 |
| a    |      0 |
| b    |      1 |
| b    |      1 |
| c    |      2 |
| c    |      2 |
| c    |      2 |
| d    |      0 |
| d    |      0 |
+------+--------+

Nächste Schritte