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 : a STRUCT<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 in struct_numerical_features .
  • degree : an INT64 value that specifies the highest degree of all combinations of features in the range of [2, 4] . The default value is 2 .

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

Design a Mobile Site
View Site in Mobile | Classic
Share by: