五分钟了解 BigQuery ML 支持的数据模型及模型创建与评估
大家都知道 BigQuery 作为 Google Cloud Platform 重要的数仓产品,主要聚焦于数据分析,技术来源于 Google 的 Dremel 、无索引、Severless 技术,支持动态调整计算与调整资源。
此外,BigQuery 的存储按照非压缩数据量、查询使用量计算,非常易于使用,且无需 DBA(Database Administrator)。
优化数据迭代
机器学习与深度学习技术一直是大数据时代的一大研究热点,但是一旦说到机器学习与深度学习,一般来说都可能要经历一段非常枯燥的流程,比如首先需要导出数据。
-如果这个时候我们技术采用 Excel 建模,并且有 TB 级的数据,那么是没有办法全部导出的,只能选取少量的样本导入 Excel 进行建模分析;
-如果我们想要使用 TensorFlow ,那么我们可能需要专业人员花费很长时间进行数据迭代。
而 BigQuery ML 在这个方面可以大大缩短数据的迭代时间,加快开发速度。
这是因为我们不必将 BigQuery 中的数据传输出来,只需要两行 SQL 代码就可以利用 BigQuery 进行模型构建,并且可以自动调节学习速率、自动将数据分拆为训练和测试数据、完成缺失值插补、数据特征标准化、字符串独热编码和类别不平衡处理等一系列操作,而这些任务一般都是需要数据科学家来做的。
BigQuery ML 可以运用到几乎所有的垂直行业,包括营销、零售、IOT 和媒体游戏等等。如果您已经使用了 Tableau 、Looker 等平台,那么您可以直接将其与 BigQuery 进行集成。
当然, BigQuery 支持的机器学习模型非常之多,几乎可以满足各个场景下的使用需求。
-比如用于预测的线性回归模型、用于分类的二元逻辑回归和多类别逻辑回归、用于数据分段的K-means 聚类、用于执行时间序列预测的时间序列模型等等······
代码示例
下面我们通过来看一段代码示例 —— 通过 CREATE MODEL 语句 进行模型创建:
1 CREATE MODEL `mydataset.mymodel`
2 OPTIONS
3 ( model_type='linear_reg',
4 ls_init_learn_rate=0.15,
5 l1_reg=1,
6 max_iterations=5 ) AS
7 SELECT
8 column1,
9 column2,
10 column3,
11 label
12 FROM `mydataset.mytable`
13 WHERE column4 < 10
相关文章