(本文2020年1月4日首发于D-BI)

前述

新年第一篇,去旧迎新。本文内容,既旧也新。旧之处在于,SQL Server 机器学习服务是微软在SQL Server 2016 中就引入的新功能,但当时只支持R语言,所以也称为"R Server",在SQL Server 2017及后续版本中,提供了对Python的支持,因此,现称为"Machine Learning Services(机器学习服务)"的功能自发布至今为止已有两年多的时间,故而这并不算一个新功能。而新的地方在于,此功能自发布起国内资料极少,一方面使用较旧版本SQL Server的用户依然很多,另一方面是很多人对该功能缺乏了解,然而,机器学习算法可以对数据进行深度挖掘,这对企业BI智能化的意义非常大,将AI融入BI也是企业未来实现商业智能的大方向。

本文将首先讲述机器学习服务(以Python为例)的概念,意义以及其基本应用原理,简单讲讲它的安装和部署方面的相关问题,最后会提供一个教程讲解其具体的应用方法。

本文目录:

  • 前述
  • 什么是机器学习服务
  • 为何要使用机器学习服务?
  • 机器学习服务的运行原理
  • 关于安装与部署
  • 如何使用机器学习服务训练预测模型(Python)
  • 总结

什么是机器学习服务?

机器学习服务是SQL Server中提供的一项新特性,它允许用户可以在SQL Server中,使用存储过程调用R或Python脚本处理数据, 训练和部署机器学习模型。通俗地说,SQL Server数据库的数据可以直接传递至Python中进行处理和建模,Python处理好后可以将结果返回到SQL Server数据库(下文会进一步讲述这点),此方式使SQL Server集成了Python在数据处理和机器学习算法方面的强大功能,且这一切操作均在SQL Server内部完成(因此这也不同于独立版本的SQL Server机器学习服务器)。

(注:SQL Server 2019还提供了对Java支持,但不属于机器学习服务,在此忽略)

为何要使用机器学习服务?

到此处,部分读者可能会问,即使不使用机器学习服务,Python依然可以利用一些库(如sqlalchemy)来实现从数据库中获取和写回数据(如此文),依然可以利用Python强大的算法库预测数据并将结果写回数据库,那为何还要使用机器学习服务呢?事实上,这是不同的,因为利用SQL Server机器学习服务,能够带来如下优势:

  • 可重复利用性。执行包含Python脚本的存储过程训练出的模型可以进行序列化,以单个值的形式存储在实体表中,只要模型调试好就可以在以后需要时重复利用。比如你可以提供给其他应用程序(如SSIS) 或其他的存储过程继续调用,部署到生产环境中,定期执行数据挖掘。
  • 拓展性。SQL Server 机器学习服务使用Anaconda发行版,内置丰富的Python库,还可以安装第三方框架,如 TensorFlow和scikit-learn。
  • 安全性。此功能在数据所在的位置运行脚本,无需通过网络将数据传输到其他服务器。通过在 SQL Server 管理的安全框架内执行受信任的脚本语言,数据库管理员可以在维持安全性的同时允许数据挖掘工程师访问企业数据。
  • 可监控性。可以在SSMS中使用由微软提供或自行设计的报表监视Python的执行情况(关于安装此报表)。
  • 与BI工具集成。存储过程中的参数值可以传递至Python,这意味着在使用SSRS(或Power BI Report Builder) 构建的报表中,用户可以直接调整机器学习算法中的参数,将算法模型的调优及结果的呈现自动化。比如使用多元线性回归预测销售数据,通过调整模型中不同的参数来优化模型(对于此,如果你使用Power BI, 此文提供了使用DAX建模及调优的用例)

(若针对于R语言,还有一个优势是可以以多线程的方式执行R脚本,而Python本身就支持多线程)

机器学习服务的运行原理

在SQL Server中安装了机器学习服务后,在SQL Server 配置管理器中会出现一个名为"SQL Server Launchpad"的服务,此即为......

阅读全文

SQL Server 机器学习服务-概述与实战相关推荐

  1. 如何使用SQL Server主数据服务替换硬编码的查找

    介绍 (Introduction) A big part of the technical debt in my organization's data warehouse (DW) and busi ...

  2. 安装SQL server出现“服务没有及时响应启动或控制请求”

    安装SQL server出现"服务没有及时响应启动或控制请求" 环境说明 解决方法 补充内容 安装下载地址 删除数据库实例 安装时Windows防火墙警告 混合身份验证模式 捣鼓了 ...

  3. SQL Server应用开发概述

    SQL Server是新一代的数据库平台,集成了更多.更优秀的功能特性.本章主要对SQL Server概要介绍,主要介绍如何创建数据库.如何管理权限.如何执行备份与恢复. 1 SQL Server简介 ...

  4. SQL Server (MSSQLSERVER) 服务因 2148081668 服务性错误而停止。

    https://zhidao.baidu.com/question/151448005.html 具体步骤: 运行-> 输入:"services.msc" ->找到 & ...

  5. 使用SQL Server分析服务定位目标用户

    如何定位目标用户,在任何一个业务单元中都是一个很重要的话题,尤其在预算有限的情况下,如何获得活动的最大收益,目标用户的定位都是很重要的手段. 本文将介绍如何通过SQL Server分析服务(SSAS) ...

  6. Windows下启动停止SQL Server 2005服务

    很多技术爱好者的电脑上总是安装了很多软件,包括应用软件.开发工具软件及数据库软件,但是随着时间的流逝,慢慢地电脑上装的软件已经超出了电脑本身所能承载的量了,因而出现了电脑运行速度慢等问题.同时,也有一 ...

  7. 技术公开课:SQL Server 高可用性解决方案概述(下)

    2014年4月10日(周四) 20:30-22:00 [技术公开课]4月10日资深数据库工程师舒永春带来<SQL Server高可用性解决方案概述下篇>精彩课程,SQL Server 高可 ...

  8. SQL Server Agent 服务启动后又停止

    本地计算机上的SQL Server Agent 服务启动后又停止了,一些服务自动停止,如果它们没有什么可做的,例如"性能日志和警报"服务 1) 打开[SQL Server Conf ...

  9. 系统搜索资源就停止服务器,SQL Server (MSSQLSERVER) 服务启动不了,系统日志显示由于下列服务特定错误而终止: 找不到映像文件中指定的资源名。...

    系统日志报错: SQL Server (MSSQLSERVER) 服务由于下列服务特定错误而终止: 找不到映像文件中指定的资源名. SQL Server日志文件报错 2020-01-19 09:32: ...

最新文章

  1. 在spring中,prototype scoped bean 如何注入单例bean中
  2. 解决IE无法查看源文件问题
  3. MLPerf最新AI芯片跑分:谷歌TPU和英伟达打破记录
  4. 汇编语言布尔和比较指令简介
  5. 配置普通用户可以运行saltstack的模块
  6. 7-7 六度空间 (30 分)(BFS遍历详解)(DFS最后一个点过不去)
  7. hash table(用乘法散列法实现)
  8. Redis非阻塞I/O多路复用机制
  9. PS打造油画般的风景人像
  10. Apache的流处理技术概述
  11. python库--tensorflow--数学函数
  12. 电脑如何恢复声音_电脑不小心丢失照片如何恢复如初
  13. 电脑上有哪些特别好用的小工具?盘点4个PC工具,个个都精品
  14. 美团财报数据初步分析
  15. Golang复杂json结构体解析
  16. [QT学习]-调色板|选择文件
  17. python3安装PIL
  18. 让HR主动邀请你面试的简历,该如何写?
  19. 什么是物联网?常见 IoT 物联网协议最全讲解
  20. Android Framework层播放器评分机制

热门文章

  1. Week1云计算从0到1学习-感谢公司给我这个机会
  2. 【应用】如何使用 element-ui 之 NavMenu 导航菜单 中 的 router 属性(在激活导航时以 path 进行路由跳转)
  3. 【翻译】LearnYouSomeErlangForGreatGood(二):起始
  4. Flutter 实现虎牙/斗鱼 弹幕效果
  5. pywinauto java_pywinauto简单介绍
  6. 7款高效、好用、免费的Mac工具!好用到炸系列
  7. python中竖杠用法_python中@的用法,你知多少
  8. C语言执行程序一闪而过的问题
  9. 【每日新闻】工信部部长苗圩赴雄安新区调研并签署部省合作协议 | IBM帮助美国拥有全球最强大的超级计算机Summit...
  10. 《自然》杂志:人工智能学会触觉,爱抚亲昵指日可待