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:
struct_categorical_features
: aSTRUCT<STRING>
value that specifies the categorical features to cross. The maximum number of input features is 10. Don't specify unnamed features or duplicate features instruct_numerical_features
.degree
: anINT64
value that specifies the highest degree of all combinations of features in the range of[2, 4]
. The default value is2
.
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
- For information about feature preprocessing, see Feature preprocessing overview.
- For information about the supported SQL statements and functions for each model type, see End-to-end user journey for each model.