Función ML.LABEL_ENCODER

En este documento, se describe la función ML.LABEL_ENCODER, que puedes usar para codificar una expresión de string a un valor INT64 en [0, <number of categories>].

El vocabulario de codificación está en orden alfabético. Los valores y las categorías de NULL que no están en el vocabulario se codifican en 0.

Cuando se usa en la cláusula TRANSFORM, los valores de del vocabulario se calculan durante el entrenamiento, junto con los valores de umbral de frecuencia y k superiores que especificaste, se usan de forma automática en la predicción.

Sintaxis

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

ML.LABEL_ENCODER toma los siguientes argumentos:

  • string_expression: la expresión STRING que se codificará.
  • top_k: un valor INT64 que especifica la cantidad de categorías incluidas en el vocabulario de codificación. La función selecciona las categorías top_k más frecuentes en los datos y las usa. Las categorías por debajo de este límite se codifican en 0. Este valor debe ser menor que 1,000,000 para evitar problemas debido a la alta dimensionalidad. El valor predeterminado es 32,000.
  • frequency_threshold: un valor INT64 que limita las categorías incluidas en el vocabulario de codificación según la frecuencia de la categoría. La función usa categorías cuya frecuencia es mayor o igual que frequency_threshold. Las categorías por debajo de este umbral se codifican en 0. El valor predeterminado es 5.

Salida

ML.LABEL_ENCODER muestra un valor INT64 que representa la expresión de string codificada.

Ejemplo

En el siguiente ejemplo, se realiza la codificación de etiquetas en un conjunto de expresiones de cadena. Limita el vocabulario de codificación a las dos categorías que ocurren con mayor frecuencia en los datos y que también ocurren dos o más veces.

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;

El resultado es similar al siguiente:

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

¿Qué sigue?