从 Jupyter Notebook 创建 BigQueryML 模型
Posted
技术标签:
【中文标题】从 Jupyter Notebook 创建 BigQueryML 模型【英文标题】:Creating BigQueryML Model From Jupyter Notebook 【发布时间】:2019-09-30 00:21:45 【问题描述】:我可以从 Google Big Query Web UI 创建 BigQuery ML 模型,但我试图将我的所有代码保存在 python 笔记本中。有什么方法可以让我从笔记本创建模型而无需跳出 Web UI?我可以使用 predict 函数从 Jupyter Notebook 创建模型结果。
谢谢。
【问题讨论】:
【参考方案1】:您不需要做任何特别的事情,只需作为独立查询运行即可。
创建您的数据集
输入以下代码以导入 BigQuery Python 客户端库并初始化客户端。 BigQuery 客户端用于从 BigQuery API 发送和接收消息。
from google.cloud import bigquery
client = bigquery.Client(location="US")
接下来,您创建一个 BigQuery 数据集来存储您的机器学习模型。运行以下命令来创建您的数据集:
dataset = client.create_dataset("bqml_tutorial")
创建您的模型
接下来,您使用 Google Analytics(分析)示例数据集为 BigQuery 创建一个逻辑回归模型。该模型用于预测网站访问者是否会进行交易。标准 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。
【讨论】:
以上是关于从 Jupyter Notebook 创建 BigQueryML 模型的主要内容,如果未能解决你的问题,请参考以下文章
尝试在 Jupyter Notebook 上使用 Pandas 从现有列创建新列时出现 NoneType 错误
从本地 jupyter notebook 连接到 spark 集群