点击上方“Python爬虫与数据挖掘”,进行关注

回复“书籍”即可获赠Python从入门到进阶共10本电子书

疏影横斜水清浅,暗香浮动月黄昏。

「数仓宝贝库」,带你学数据!

导读:SQFlow利用SQL语言构建机器学习和深度学习,致力于“Make AI as simple as SQL”,愿景是推进人工智能大众化、普及化,也就是只要懂商业逻辑就能用上人工智能,让懂业务的人能自由地使用人工智能。本文带你快速了解开源的工程化的自助式数据科学平台SQLFlow。

SQLFlow利用SQL语言构建机器学习和深度学习,致力于“Make AI as simple as SQL”,愿景是推进人工智能大众化、普及化,也就是只要懂商业逻辑就能用上人工智能,让懂业务的人能自由地使用人工智能。SQLFlow具备三大核心要素,即数据描述商业逻辑、AI赋能深度数据分析和易于使用。

SQLFlow致力于帮助业务提升效能,SQLFLow支持的模型库较为丰富,主要模型包括DNN神经网络预测模型、Shap+XGBoost可解读模型、基于自编码器的无监督聚类模型、基于LSTM的时间序列模型等,更多详细内容可查看SQLFlow官方模型库,地址:https://github.com/sql-machine-learning/models。

01

什么是SQLFlow

人工智能作为近10年里极具代表性的技术突破,已经广泛应用于各行各业。无论是图像处理技术在安全监控、自动驾驶领域内的成功落地, 还是自然语言处理技术在智能客服、内容生成等领域获得的巨大进步, 都预示着人工智能将在未来给社会的发展带来无限可能。

与此同时,在人工智能落地的过程中也面临着一系列实际问题,最常见的就是相关人才需要极为丰富的知识储备,例如高等数学、统计学、概率论以及熟练的编程技能。与此同时,在知识和技能相互融合的过程中还需要对业务逻辑拥有深度理解,才可以保证技术能够带来真实可靠的业务提升。

这些要求无疑提高了人工智能赋能业务的门槛,同时也制约了人工智能产业的发展速度。SQLFlow正是为了解决上述问题诞生的,它容易上手,方便使用,支持多种数据来源和机器学习框架,能够快速地将想法落地,成为开发者的开发利器。

SQLFlow是由滴滴数据科学团队和蚂蚁金服合作开源的一款连接数据和机器学习能力的分析工具,旨在抽象出从数据到模型的研发过程,同时配合底层的引擎适配及自动优化技术,使得具备基础SQL知识的技术人员也可以完成大部分的机器学习模型训练、预测及应用任务。

SQLFlow希望通过简化和优化整个研发过程将机器学习的能力赋予业务专家,从而推动更多的人工智能应用场景被探索和使用。

02

SQLFlow的定位和目标

将SQL与AI进行连接的这个想法并非SQLFlow独创。Google在2018年发布的BigQueryML、TeraData的SQL for DL以及微软基于SQL Server的AI扩展,同样旨在打通数据与人工智能之间的连接障碍,使数据科学家和分析师能够通过SQL语言实现机器学习功能并完成数据预测和分析任务。

与上述各个系统不同的是,SQLFlow着力于连接更广泛的数据引擎和人工智能技术框架,并不局限于某个公司产品内的封闭技术。更为重要的是,SQLFlow是一个面向全世界开发者的开源项目,只要是对这一领域感兴趣的开发者都可以参与其中,项目的组织者希望借助开发者和使用者的力量共同建设社区,促进这一领域的健康发展。

作为连接数据引擎和AI引擎的桥梁,SQLFlow目前支持的数据引擎包括MySQL、Hive和MaxCompute,支持的AI引擎不仅包括业界流行的TensorFlow,还包括XGBoost、Scikit-Learn等传统机器学习框架,如下表所示。

表 SQLFlow支持的数据引擎和AI引擎简介

03

SQLFlow的工作原理

接下来我们使用Docker镜像中的Iris案例来说明SQLFlow的工作原理。

Iris数据集也称为鸢尾花数据集,是机器学习领域常用的分类实验数据集。该数据集包含150个数据样本,分为3类,每类包含50个样例,每条样例包含花萼长度、花萼宽度、花瓣长度和花瓣宽度。数据集通过这4个属性判断鸢尾花样例属于山鸢尾(setosa)、杂色鸢尾(versicolour)、维吉尼亚鸢尾(virginica)中的哪一类。

我们预先将数据存储至iris.train表中,前4列表示训练样例的特征,最后一列代表训练样本的标签。

分类模型以DNN分类器为例。DNN分类器默认具有双隐藏层,每层的隐藏节点数均为10,分类数为3,默认优化器和学习率分别为Adagrad和0.1,损失函数则默认配置为tf.keras.losses.sparse_categorical_crossentropy。

从iris.train表中获取数据并训练对应DNN分类器模型的训练语句如代码清单1所示。

代码清单1 基于iris数据集训练DNN分类器
SELECT * FROM iris.train
TO TRAIN DNNClassifer
WITH hidden_units = [10, 10], n_classes = 3, EPOCHS = 10
COLUMN sepal_length, sepal_width, petal_length, petal_width
LABEL class
INTO sqlflow_models.my_dnn_model;

SQLFlow解析接收到的SQL命令,其中SELECT语句传递给对应数据引擎获取数据,而TRAIN和WITH语句则分别指定了使用的模型种类、模型结构和训练所需的超参数,COLUMN和LABEL部分分别用于训练的各特征列名称和标签列名称。

SQLFlow将TRAIN和WITH语句中的内容解析为对应的Python程序,整体流程如下图所示。

图 SQLFlow工作原理

本文摘编于《数据科学工程实践》,经出版方授权发布。

------------------- 送书 -------------------

内容简介

1、如正文所介绍的那样。

活动规则

参与方式:在下方公众号后台回复 “送书”关键字,记得是“送书”二字哈,即可参与本次的送书活动。

公布时间:2021年6月30号(周三)晚上20点

领取事宜:请小伙伴添加小助手微信: WebFighting,或者扫码添加好友。添加小助手的每一个人都可以领取一份Python学习资料,更重要的是方便联系。

注意事项:一定要留意微信消息,如果你是幸运儿就尽快在小程序中填写收货地址、书籍信息。一天之内没有填写收货信息,送书名额就转给其他人了噢,欢迎参加!

一文了解滴滴与蚂蚁金服开源共建的SQLFlow相关推荐

  1. sql如何取前几行_重磅!蚂蚁金服开源机器学习工具SQLFlow,机器学习比SQL还简单...

    开源最前线(ID:OpenSourceTop) 猿妹整编 综合自:AI前线.https://github.com/sql-machine-learning/sqlflow 5月6日,蚂蚁金服副 CTO ...

  2. 蚂蚁金服开源了一款研发框架!还是增强版的

    点击上方"Github中文社区",关注 看遍Github,每天提升 第044期原创分享 来自:Github中文社区  作者:huber hello,我是huber! 最近有读者留言 ...

  3. 蚂蚁金服开源增强版 Spring Boot 的研发框架!

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:gitee.com/sofastack/sofa-b ...

  4. 蚂蚁金服开源服务注册中心 SOFARegistry

    SOFAStack(Scalable Open Financial Architecture Stack )是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架构所需的各个组件,是在金融场景 ...

  5. 蚂蚁金服开源增强版Spring Boot 的研发框架!

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! SOFABoot 是蚂蚁金服开源的基于 Spring Bo ...

  6. 开源|蚂蚁金服开源AntV F2:一个专注于移动,开箱即用的可视

    小蚂蚁说: AntV 是蚂蚁金服全新一代数据可视化解决方案,主要子产品包括 G2.G6.F2.此前我们已经相继发布过AntV的相关开源消息与版本迭代,包括<蚂蚁金服开源:数据驱动的高交互可视化图 ...

  7. 蚂蚁金服开源的机器学习工具 SQLFlow,有何特别之处?

    近日,蚂蚁金服副 CTO 胡喜正式宣布开源机器学习工具 SQLFlow,他在大会演讲中表示:"未来三年,AI 能力会成为每一位技术人员的基本能力.我们希望通过开源 SQLFlow,降低人工智 ...

  8. 蚂蚁金服开源背后的“有意思”工程师 | 1024快乐

    !important 希望我们是最早给你祝福的朋友 去年的1024,我们回顾了第一代到第五代架构 去年的今天,我们和大家分享了 SOFAStack 背后的这群工程师.比如程立,花名鲁肃,蚂蚁金服 CT ...

  9. SOFABoot是蚂蚁金服开源的基于Spring Boot的研发框架

    前言 SOFABoot是蚂蚁金服开源的基于Spring Boot的研发框架,它在Spring Boot的基础上,提供了诸如 Readiness Check,类隔离,日志空间隔离等等能力.在增强了 Sp ...

  10. g6的minimap中的配置_蚂蚁金服开源:数据驱动的高交互可视化图形语法G2

    原标题:蚂蚁金服开源:数据驱动的高交互可视化图形语法G2 AntV是蚂蚁金服全新一代数据可视化解决方案,主要包含「数据驱动的高交互可视化图形语法」G2.专注解决流程与关系分析的图表库 G6.适于对性能 ...

最新文章

  1. 高考成绩等位分查询2021,等位分查询(等位分查询系统)
  2. UML中关联关系和依赖关系的区别(转)
  3. mysql的hash分区_MySQL中的分区(五)HASH分区
  4. CodeForces - 1543D1 RPD and Rap Sheet (Easy Version)(异或+交互)
  5. linux 统计_聊聊 Linux 的内存统计
  6. Angular 界面元素的条件渲染
  7. CSS基本知识(慕课网)
  8. 设计模式之创建者模式
  9. 面向对象并不是必要的
  10. shiro 实现自己定义权限规则校验
  11. Centos 6.5 服务器下面配置邮件客户端 发送报警邮件
  12. 【node】-----简单介绍 nodejs
  13. 软件专业大学生常用的刷题、找答案、找资源的网站
  14. Java Swing MySQL图书管理系统
  15. 天刀找不到服务器,《天涯明月刀手游》好友服务器查看方法 怎么查看好友在哪个区...
  16. 人人开源项目搭建到服务器,人人开源框架的部署
  17. 【fake_useragent】网络爬虫获取随机User-Agent
  18. mbr+bios gpt+uefi_小白安装系统之LEGACY、UEFI、GPT和MBR
  19. 思迈特软件Smartbi:公安大数据的3个发展阶段
  20. 结构光三维重建(一)条纹结构光三维重建

热门文章

  1. 【异常】解决 Cannot find module ‘./element-ui‘ or its corresponding type declarations.
  2. Excel筛选后无法复制粘贴成数值解决办法
  3. 1/1917钓鱼思维导图
  4. 计算机桌面基本设置操作包括哪些,电脑技巧入门操作有哪些
  5. 适合打游戏的计算机,最适合玩游戏的笔记本电脑 广受好评的三款笔记本
  6. Gym - 101964E -Fishermen(二分+差分求前缀和)
  7. 任天堂被黑了!早期游戏源码及设计图大批曝光,原来塞尔达传说还有个血腥版本?
  8. Redis RDB和AOF
  9. 【JDF】学习和理解
  10. Ngxin虚拟主机的三种配置方法