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ónSTRING
que se codificará.top_k
: un valorINT64
que especifica la cantidad de categorías incluidas en el vocabulario de codificación. La función selecciona las categoríastop_k
más frecuentes en los datos y las usa. Las categorías por debajo de este límite se codifican en0
. Este valor debe ser menor que1,000,000
para evitar problemas debido a la alta dimensionalidad. El valor predeterminado es32,000
.frequency_threshold
: un valorINT64
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 quefrequency_threshold
. Las categorías por debajo de este umbral se codifican en0
. El valor predeterminado es5
.
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?
- Para obtener información sobre el procesamiento previo de atributos, consulta Descripción general del procesamiento previo de atributos.
- Para obtener información sobre las instrucciones y funciones de SQL compatibles con cada tipo de modelo, consulta Recorrido del usuario de extremo a extremo para cada modelo.