Supported input feature types
BigQuery ML supports different input feature types for different model types. Supported input feature types are listed in the following table:
Model Category | Model Types | Numeric types (INT64, NUMERIC, BIGNUMERIC, FLOAT64) | Categorical types (BOOL, STRING, BYTES, DATE, DATETIME) | TIMESTAMP | STRUCT | GEOGRAPHY | ARRAY<Numeric types> | ARRAY<Categorical types> | ARRAY<STRUCT<INT64, Numeric types>> |
---|---|---|---|---|---|---|---|---|---|
Supervised Learning | Linear & Logistic Regression | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
Deep Neural Networks | ✔ | ✔ | ✔ | ✔ | ✔ | ||||
Wide-and-Deep | ✔ | ✔ | ✔ | ✔ | ✔ | ||||
Boosted trees | ✔ | ✔ | ✔ | ✔ | ✔ | ||||
AutoML Tables | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||
Unsupervised Learning | K-means | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
PCA | ✔ | ✔ | ✔ | ✔ | ✔ | ||||
Autoencoder | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||
Time Series Models | ARIMA_PLUS_XREG | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Sparse input
BigQuery ML supports ARRAY<STRUCT>
as sparse input during
model training. Each struct contains an INT64
value that represents its
zero-based index, and a
numeric type
that represents the corresponding value.
Below is an example of a sparse tensor input for the integer array
[0,1,0,0,0,0,1]
:
ARRAY<STRUCT<k INT64, v INT64>>[(1, 1), (6, 1)] AS f1