The ML.FEATURE_CROSS function

This document describes the ML.FEATURE_CROSS function, which lets you create feature crosses of the input features.

Syntax

ML.FEATURE_CROSS(struct_categorical_features [, degree])

Arguments

ML.FEATURE_CROSS takes the following arguments:

Output

ML.FEATURE_CROSS returns a STRUCT<STRING> value that identifies all combinations of the crossed categorical features with a degree no larger than the degree value, except for 1-degree items (the original features) and self-crossing items. The field names in the output struct are concatenations of the original feature names.

Example

The following example crosses three features:

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

The output looks similar to the following:

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

What's next