全国免费咨询:

13245491521

VR图标白色 VR图标黑色
X

中高端软件定制开发服务商

与我们取得联系

13245491521     13245491521

2018-07-26_谷歌BigQuery ML正式上岗,只会用SQL也能玩转机器学习!

您的位置:首页 >> 新闻 >> 行业资讯

谷歌BigQuery ML正式上岗,只会用SQL也能玩转机器学习! 策划编辑 | Natalie 作者 | Umar Syed,Sergei Vassilvitskii 编译 | 无明 编辑 | Natalie AI 前线导读: 前不久,我们在文章 《SQL 足以解决你的问题,别动不动就机器学习》 中跟大家探讨过 SQL 和机器学习的问题,想必很多人还有印象。ML/AI 当然有它们的用武之地,但在很多情况下,开发人员根本不需要机器学习,只用 SQL 就够了。文章作者希望更多开发者从实际角度出发,以解决问题为目标,减少对时髦技术的过度追求。现在,开发者可能又有了一条解决问题的新思路:谷歌今天正式发布 BigQuery ML,对 SQL 语言进行了扩展,数据科学家和分析师只用 SQL 语言就可以实现流行的机器学习功能并执行预测分析! 更多优质内容请关注微信公众号“AI 前线”(ID:ai-front) 谷歌 BigQuery 提供了基于大型数据集的交互式分析能力,让企业能够轻松分享有意义的见解并基于客户分析开发解决方案。很多使用 BigQuery 的企业都没有使用机器学习来更好地理解他们正在生成的数据,这是因为精通 SQL 的数据分析师可能不具备机器学习方面的数据科学背景。 谷歌近日正式发布 BigQuery ML(https://cloud.google.com/blog/big-data/2018/07/bridging-the-gap-between-data-and-insights ),作为 BigQuery 功能的一部分,可以让数据科学家和分析师在大型的结构化或半结构化的数据集上构建和部署机器学习模型。BigQuery ML 对 SQL 语言进行了扩展,让用户能够利用流行的 ML 功能和执行预测分析,如预测销售和在数据源头创建客户细分。 BigQuery ML 还会自动设置智能默认选项,并负责进行数据转换,从而带来易用的无缝式体验,同时生成非常好的结果。 在设计 BigQuery ML 后端时,该团队面临着两难的局面。将大量数据从 BigQuery 服务器传输到运行机器学习算法的专用服务器上将非常耗时,并且存在数据安全性和隐私方面的问题。不过,梯度下降的核心组件——一种用于优化机器学习算法的方法——可以使用常用的 SQL 操作来实现,因此我们能够让 BigQuery ML 利用现有的 BigQuery SQL 处理引擎。 BigQuery 引擎旨在高效地扫描大型数据集而不只是随机抽取小型样本,因此,BigQuery ML 是基于梯度下降的标准(批量)变体,而不是随机版本。虽然随机梯度下降在当今的大型机器学习系统中更为常见,但批量变体具有很多实践方面的优势。 例如,基于随机梯度下降过程的数据库嵌入式机器学习系统逐个处理样本,并且在无排序数据集上表现不佳。为了优化常规 SQL 的查询性能,BigQuery 的数据通常分布在磁盘上,并且这些数据被持续重新分布,以便支持随机机器学习算法,而这些操作是计算密集型的,相当昂贵。相反,批量梯度下降对磁盘上的数据是否排序和分区并不敏感,从而完全避免了这个问题。此外,批处理方法可以与经典的线性搜索技术相结合,可以让学习算法更加稳定并且需要更少的调整。我们还实现了对正规化和预处理的支持。 要体验 BigQuery ML,请访问 BigQuery 控制台(https://console.cloud.google.com/bigquery )并按照用户指南(https://cloud.google.com/bigquery/docs/bigqueryml-intro )进行操作。 创建模型非常简单: CREATE MODEL dataset.model_name OPTIONS(model_type=’linear_reg’, input_label_cols=[‘input_label’]) AS SELECT * FROM input_table;在未来,谷歌计划进一步将梯度下降实现与 BigQuery 基础架构集成在一起,以实现更高的性能提升。 以下是创建回归模型、使用模型进行预测、创建分类模型和评估模型的示例。 创建回归模型 #standardsql CREATE OR REPLACE MODEL flights.arrdelay OPTIONS (model_type='linear_reg', labels=['arr_delay']) AS SELECT arr_delay, carrier, origin, dest, dep_delay, taxi_out, distance FROM `cloud-training-demos.flights.tzcorr` WHERE arr_delay IS NOT NULL10 分钟后,模型就训练好了,并计算出每次迭代的结果。 这里的损失就是均方误差,因此模型在迭代 #6 上收敛,RMSE 约为 sqrt(97)=10 分钟。 使用模型进行预测 #standardsql SELECT * FROM ML.PREDICT(MODEL flights.arrdelay, ( SELECT carrier, origin, dest, dep_delay, taxi_out, distance, arr_delay AS actual_arr_delay FROM `cloud-training-demos.flights.tzcorr` WHERE arr_delay IS NOT NULL LIMIT 10))结果如下: 因为使用训练模型来预测名为“arr_delay”的变量,所以 ML.PREDICT 会创建一个名为 predict_arr_delay 的列。这个示例从原始表中拉出 10 行数据并预测这些航班的晚点情况。 创建分类模型 这次是预测航班延延误过 15 分钟的可能性。这是一个分类问题,所以需要对查询稍作修改: #standardsql CREATE OR REPLACE MODEL flights.ontime OPTIONS (model_type='logistic_reg', labels=['on_time']) AS SELECT IF(arr_delay 15, 1, 0) AS on_time, carrier, origin, dest, dep_delay, taxi_out, distance FROM `cloud-training-demos.flights.tzcorr` WHERE arr_delay IS NOT NULL计算结果: 以及另一个预测示例: 评估模型 我们可以在独立数据集上评估模型。为了方便,这个例子展示了如何在模型训练的同一数据集上进行评估: #standardsql SELECT * FROM ML.EVALUATE(MODEL flights.ontime, ( SELECT IF(arr_delay 15, 1, 0) AS on_time, carrier, origin, dest, dep_delay, taxi_out, distance FROM `cloud-training-demos.flights.tzcorr` WHERE arr_delay IS NOT NULL ))结果: 英文原文: https://ai.googleblog.com/2018/07/machine-learning-in-google-bigquery.html https://towardsdatascience.com/how-to-train-and-predict-regression-and-classification-ml-models-using-only-sql-using-bigquery-ml-f219b180b947 如果你喜欢这篇文章,或希望看到更多类似优质报道,记得给我留言和点赞哦! 阅读原文

上一篇:2020-03-19_Nature新论文:研究人员研发出新AI芯片,可在纳秒内完成图像识别任务 下一篇:2022-04-07_HTML5崛起之时,Java桌面时代就已经终结了

TAG标签:

18
网站开发网络凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设网站改版域名注册主机空间手机网站建设网站备案等方面的需求...
请立即点击咨询我们或拨打咨询热线:13245491521 13245491521 ,我们会详细为你一一解答你心中的疑难。
项目经理在线

相关阅读 更多>>

猜您喜欢更多>>

我们已经准备好了,你呢?
2022我们与您携手共赢,为您的企业营销保驾护航!

不达标就退款

高性价比建站

免费网站代备案

1对1原创设计服务

7×24小时售后支持

 

全国免费咨询:

13245491521

业务咨询:13245491521 / 13245491521

节假值班:13245491521()

联系地址:

Copyright © 2019-2025      ICP备案:沪ICP备19027192号-6 法律顾问:律师XXX支持

在线
客服

技术在线服务时间:9:00-20:00

在网站开发,您对接的直接是技术员,而非客服传话!

电话
咨询

13245491521
7*24小时客服热线

13245491521
项目经理手机

微信
咨询

加微信获取报价