Función ML.FEATURE_CROSS

En este documento, se describe la función ML.FEATURE_CROSS, que te permite crear combinaciones de atributos de los atributos de entrada.

Sintaxis

ML.FEATURE_CROSS(struct_categorical_features [, degree])

Argumentos

ML.FEATURE_CROSS toma los siguientes argumentos:

  • struct_categorical_features: un valor STRUCT<STRING> que especifica los atributos categóricos que se cruzarán. El número máximo de atributos de entrada es 10. No especifiques atributos sin nombre ni atributos duplicados en struct_numerical_features.
  • degree: Un valor INT64 que especifica el grado más alto de todas las combinaciones de atributos en el rango de [2, 4]. El valor predeterminado es 2.

Salida

ML.FEATURE_CROSS muestra un valor STRUCT<STRING> que identifica todas las combinaciones de los atributos categóricos cruzados con un grado no mayor que el valor degree, excepto los elementos de degree 1 (los atributos originales). y los elementos combinados automaticamente. Los nombres de campo del struct de salida son concatenaciones de los nombres de los atributos originales.

Ejemplo

En el siguiente ejemplo, se combinan tres atributos:

SELECT
  ML.FEATURE_CROSS(STRUCT('a' AS f1, 'b' AS f2, 'c' AS f3)) AS output;

El resultado es similar al siguiente:

+---------------------------------------------+
|                   output                    |
+---------------------------------------------+
| {"f1_f2":"a_b","f1_f3":"a_c","f2_f3":"b_c"} |
+---------------------------------------------+

¿Qué sigue?