The ML.POLYNOMIAL_EXPAND function
This document describes the ML.POLYNOMIAL_EXPAND function, which lets you
calculate all polynomial combinations of the input features.
You can use this function with models that support manual feature preprocessing. For more information, see the following documents:
Syntax
ML.POLYNOMIAL_EXPAND(struct_numerical_features [, degree])
Arguments
ML.POLYNOMIAL_EXPAND takes the following arguments:
struct_numerical_features: aSTRUCTvalue that contains the numerical input features to expand. You can specify less than or equal to10input features. Don't specify unnamed features or duplicate features.degree: anINT64value that specifies the highest degree of all combinations in the range of[1, 4]. The default value is2.
Output
ML.POLYNOMIAL_EXPAND returns a STRUCT<STRING> value that contain all
polynomial combinations of the numerical input features with a degree no larger
than the passed-in degree, including the original features. The field names of
the output struct are concatenations of the original feature names.
Example
The following example calculates the polynomial expansion of two numerical features:
SELECT ML.POLYNOMIAL_EXPAND(STRUCT(2 AS f1, 3 AS f2)) AS output;
The output looks similar to the following:
+-------------------------------------------------------------------+
| output |
+-------------------------------------------------------------------+
| {"f1":"2.0","f1_f1":"4.0","f1_f2":"6.0","f2":"3.0","f2_f2":"9.0"} |
+-------------------------------------------------------------------+
What's next
- For information about feature preprocessing, see Feature preprocessing overview.