La funzione ML.FEATURE_CROSS

Questo documento descrive la funzione ML.FEATURE_CROSS, che consente di creare intervalli di caratteristiche delle caratteristiche di input.

Sintassi

ML.FEATURE_CROSS(struct_categorical_features [, degree])

Argomenti

ML.FEATURE_CROSS accetta i seguenti argomenti:

  • struct_categorical_features: un valore STRUCT<STRING> che specifica le caratteristiche categoriche da incrociare. Il numero massimo di funzionalità di input è 10. Non specificare elementi senza nome o elementi duplicati in struct_numerical_features.
  • degree: un valore INT64 che specifica il grado più alto di tutte le combinazioni di caratteristiche nell'intervallo [2, 4]. Il valore predefinito è 2.

Output

ML.FEATURE_CROSS restituisce un valore STRUCT<STRING> che identifica tutte le combinazioni degli elementi categorici incrociati con un grado non superiore al valore degree, ad eccezione degli elementi di 1 grado (le caratteristiche originali) e degli elementi che si intersecano tra loro. I nomi dei campi nello struct di output sono concatenazioni dei nomi delle caratteristiche originali.

Esempio

L'esempio seguente comprende tre elementi:

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

L'output è simile al seguente:

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

Passaggi successivi