使用 TensorFlow 在 BigQuery 中构建和训练神经网络模型,并调整模型超参数以减小常数偏差。
代码示例:
import tensorflow as tf
def create_model():
model = tf.keras.models.Sequential([
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dense(64, activation='relu'),
tf.keras.layers.Dense(1, activation='sigmoid')
])
return model
CREATE MODEL
语句创建模型之前,需要将训练数据集保存到 Cloud Storage 中。TRAINING_DATA_URI = 'gs://example-bucket/training-data.csv'
query = """
SELECT
feature_1,
feature_2,
...
label
FROM
`project.dataset.table`
WHERE
...
"""
df = bq.query(query).to_dataframe()
df.to_csv(TRAINING_DATA_URI, index=False)
CREATE MODEL
语句创建模型,并指定 TensorFlow 模型的结构和训练数据集。CREATE MODEL `my_dataset.my_model`
OPTIONS (model_type='tensorflow', input_label_cols=['label'])
AS
SELECT *
FROM
ML.CSV_TO_TF_RECORDS(
'gs://example-bucket/training-data.csv',
STRUCT(
...
)
)
CREATE MODEL
语句创建模型时,会自动执行模型训练。训练时间取决于数据集大小和模型复杂度。SELECT *
FROM
ML.TRAINING_INFO(MODEL `my_dataset.my_model`)
def