我可以从Google Big Query Web UI创建BigQuery ML模型,但是我试图将所有代码保存在python笔记本中。有什么方法可以从笔记本上创建模型而不必跳到Web UI?我可以使用预测功能从Jupyter Notebook创建模型结果。
感谢。
您无需执行任何特殊操作,只需作为独立查询运行。
创建数据集
输入以下代码以导入BigQuery Python客户端库并初始化客户端。 BigQuery客户端用于从BigQuery API发送和接收消息。
from google.cloud import bigquery
client = bigquery.Client(location="US")
[接下来,您将创建一个BigQuery数据集来存储您的ML模型。运行以下命令创建您的数据集:
dataset = client.create_dataset("bqml_tutorial")
创建模型
[接下来,您将使用BigQuery的Google Analytics(分析)样本数据集创建逻辑回归模型。该模型用于预测网站访问者是否会进行交易。标准的SQL查询使用CREATE MODEL
语句创建和训练模型。标准SQL是BigQuery python客户端库的默认查询语法。
BigQuery python客户端库提供了一个单元魔术%%bigquery
,它可以运行SQL查询并以Pandas DataFrame的形式返回结果。
运行CREATE MODEL
查询以创建和训练模型:
%%bigquery
CREATE OR REPLACE MODEL `bqml_tutorial.sample_model`
OPTIONS(model_type='logistic_reg') AS
SELECT
IF(totals.transactions IS NULL, 0, 1) AS label,
IFNULL(device.operatingSystem, "") AS os,
device.isMobile AS is_mobile,
IFNULL(geoNetwork.country, "") AS country,
IFNULL(totals.pageviews, 0) AS pageviews
FROM
`bigquery-public-data.google_analytics_sample.ga_sessions_*`
WHERE
_TABLE_SUFFIX BETWEEN '20160801' AND '20170630'
查询需要几分钟才能完成。第一次迭代完成后,您的模型(sample_model)出现在BigQuery网络用户界面的导航面板中。由于查询使用CREATE MODEL语句创建表,因此看不到查询结果。输出为空的DataFrame。