文档
  • PyCaret 3.0
  • 开始使用
    • 💻安装
    • 🚀快速入门
    • ⭐教程
    • 📶模块
    • ⚙️数据预处理
      • 数据准备
      • 缩放和转换
      • 特征工程
      • 特征选择
      • 其他设置参数
    • 💡函数
      • 初始化
      • 训练
      • 优化
      • 分析
      • 部署
      • 其他
  • 学习 PYCARET
    • 📖博客
      • 宣布 PyCaret 1.0
      • 宣布 PyCaret 2.0
      • 关于 PyCaret 你不知道的 5 件事
      • 构建并部署你的第一个机器学习 Web 应用
      • 使用 PyCaret 在 Power BI 中构建你自己的 AutoML
      • 在 Google Kubernetes 上部署 ML Pipeline
      • 在 AWS Fargate 上部署 PyCaret 和 Streamlit
      • 使用 PyCaret 在 Power BI 中进行异常检测
      • 在 Google Kubernetes 上部署 ML 应用
      • 在 GKE 上部署机器学习 Pipeline
      • 在 AWS Fargate 上部署机器学习 Pipeline
      • 使用 Docker 在云端部署 ML Pipeline
      • 使用 PyCaret 在 Power BI 中进行聚类分析
      • 使用 ONNX Runtime 在边缘部署 PyCaret 模型
      • GitHub 是你所需的最棒的 AutoML
      • 在 AWS Fargate 上部署 PyCaret 和 Streamlit
      • 使用 PyCaret 和 MLflow 轻松进行 MLOps
      • 使用 PyCaret 在 Power BI 中进行聚类分析
      • 使用 PyCaret 在 Alteryx 中进行机器学习
      • 使用 PyCaret 在 KNIME 中进行机器学习
      • 使用 PyCaret 在 SQL 中进行机器学习 第一部分
      • 使用 PyCaret 在 Power BI 中进行机器学习
      • 使用 PyCaret 在 Tableau 中进行机器学习
      • 使用 PyCaret 进行多时间序列预测
      • 使用 PyCaret 预测客户流失
      • 使用 PyCaret(正确方式)预测潜在客户得分
      • 使用 PyCaret 在 Python 中进行 NLP 文本分类
      • 使用 PyCaret(正确方式)预测潜在客户得分
      • 使用 PyCaret 预测黄金价格暴跌
      • 使用机器学习预测黄金价格
      • PyCaret 2.1 特性总结
      • 使用 PyCaret 将 ML 模型部署到 SQL Server
      • 使用 PyCaret 和 Gradio 加速你的 ML
      • 时间序列 101 - 面向初学者
      • 使用 PyCaret 进行时间序列异常检测
      • 使用 PyCaret 回归进行时间序列预测
      • 使用 PyCaret 在 Power BI 中进行主题建模
      • 使用 PyCaret 编写和训练自定义 ML 模型
      • 使用 PyCaret 和 Streamlit 构建和部署 ML 应用
      • PyCaret 2.3.6 发布了!了解新特性?
    • 📺视频
    • 🛩️备忘单
    • ❓常见问题
    • 👩‍💻示例
  • 重要链接
    • 🛠️发布说明
    • ⚙️API 参考
    • 🙋 讨论
    • 📤问题
    • 👮 许可
  • 媒体
    • 💻Slack
    • 📺YouTube
    • 🔗LinkedIn
    • 😾GitHub
    • 🔅Stack Overflow
由 GitBook 提供支持
本页内容
  • 使用 PyCaret 在 SQL 中进行机器学习
  • 一、将代码带到数据 — 使用数据库进行机器学习的理由
  • 二、SQL Server
  • 三、下载软件
  • 四、设置环境
  • 五、ML 实验示例 — SQL Server 中的聚类
  • 六、结论
  • 七、重要链接

这篇文章有帮助吗?

  1. 学习 PYCARET
  2. 博客

使用 PyCaret 在 SQL 中进行机器学习 第一部分

上一篇使用 PyCaret 在 KNIME 中进行机器学习下一篇使用 PyCaret 在 Power BI 中进行机器学习

上次更新时间 2 年前

这篇文章有帮助吗?

使用 PyCaret 在 SQL 中进行机器学习

通过在 SQL Server 中集成 PyCaret,将你的 ML 代码部署到数据

作者:Umar Farooque

本文将涵盖以下内容

  1. 如何免费下载和安装 SQL Server

  2. 如何创建新数据库并将数据导入数据库

  3. 如何在数据库中启用和使用 Python 脚本

  4. 如何训练聚类算法,以便为数据集中的每个观测值分配聚类标签

一、将代码带到数据 — 使用数据库进行机器学习的理由

进行 ML 实验的首选工具/环境是命令行、IDE 或 Notebook。然而,当数据量变得非常大,或者需要将 ML 模型投入生产时,这些工具/环境可能会带来限制。迫切需要具备在数据所在地编程和训练模型的能力。微软 SQL Server 在其 2019 版本中引入了这一能力。使用 SQL Server 进行机器学习的明显优势在于:

i. 从系统中提取大量数据既繁琐又耗时。在服务器上进行 ML 实验是将代码带到数据,而不是将数据带到代码

ii. ML 实验主要在计算机/CPU 内存中执行。大多数机器在大型数据集上训练 ML 算法时会达到性能上限。在 SQL Server 数据库中进行 ML 可以避免这种情况

iii. 将 ML Pipelines 与其他 ETL 流程集成和部署起来很容易

二、SQL Server

三、下载软件

四、设置环境

在将 PyCaret 功能用于 SQL Server 之前,你需要安装 SQL Server 和 PyCaret。这是一个多步骤过程

步骤 1 — 安装 SQL Server

下载 SQL Server 2019 Developer Edition 文件 “SQL2019-SSEI-Dev.exe”

打开文件并按照说明进行安装(建议使用自定义安装选项)

选择新的 SQL Server 独立安装

在“实例功能”选项中,选择功能,包括“Python”(位于机器学习服务和语言扩展下)以及机器学习服务器(独立)

点击“接受”以同意安装 Python

安装可能需要 15-20 分钟

步骤 2 — 安装 Microsoft SQL Server Management Studio (SSMS)

打开文件 “SSMS-Setup-ENU.exe” 以开始安装

安装可能需要 5-10 分钟

步骤 3 — 为机器学习创建数据库

安装完所有内容后,你需要启动一个服务器实例。为此,启动 SSMS。在登录阶段,系统会要求你输入 SQL Server 的名称,你可以从下拉菜单中选择。连接建立后,你可以看到服务器上的所有对象。如果你是第一次下载 SQL Server 且没有可用的数据库,你需要先创建一个新数据库。

在对象资源管理器面板中,右键单击“数据库”,然后选择“新建数据库”

输入数据库名称及其他信息

设置可能需要 2-3 分钟,包括创建数据库、用户和设置所有权

步骤 4 — 导入 CSV 文件

现在你需要使用 SQL Server Management Studio 将 CSV 文件导入数据库。

在数据库中创建一个表 “jewellery”

右键单击数据库,选择任务->导入数据

对于数据源,选择平面文件源。然后使用浏览按钮选择 CSV 文件。在点击“下一步”按钮之前,花一些时间配置数据导入。

对于目标,选择正确的数据库提供程序(例如 SQL Server Native Client 11.0)。输入服务器名称;勾选使用 SQL Server 身份验证,输入用户名、密码和数据库,然后点击“下一步”按钮。

在“选择源表和视图”窗口中,你可以在点击“下一步”按钮之前编辑映射。

勾选“立即运行”,然后点击“下一步”按钮

点击“完成”按钮运行包

步骤 5 — 为 SQL Server 启用 Python 脚本

我们将使用系统存储过程 **sp_execute_external_script** 在 SQL Server “内部”运行 Python。首先,你需要打开一个“新建查询”。在你的实例中执行以下查询,以启用该过程进行远程脚本执行

EXEC sp_configure ‘external scripts enabled’, 1

RECONFIGURE WITH OVERRIDE

注意:在继续后续步骤之前,请重启实例。

可以执行以下 SQL 语句来检查 Python 路径并列出已安装的包。

检查 Python 路径

EXECUTE sp_execute_external_script

@language =N’Python’,

@script=N’import sys; print(“\n”.join(sys.path))’

列出已安装的包

EXECUTE sp_execute_external_script

@language = N’Python’,

@script = N’

import pkg_resources

import pandas as pd

installed_packages = pkg_resources.working_set

installed_packages_list = sorted([“%s==%s” % (i.key, i.version) for i in installed_packages])

df = pd.DataFrame(installed_packages_list)

OutputDataSet = df’

WITH RESULT SETS (( PackageVersion nvarchar (150) ))

步骤 6 — 将 PyCaret Python 包添加到 SQL Server

要安装 PyCaret 包,请打开命令提示符,并导航到安装了 SQL Server 的 Python 包位置。默认位置是

C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\PYTHON_SERVICES

导航到“Scripts” 目录,并使用 pip 命令安装 PyCaret 包

pip.exe install pycaret

注意:请确保你有权访问 SQL Server 目录以安装包和/或更改配置。否则,包安装将失败。

安装可能需要 5-10 分钟

注意:如果在运行 SQL 脚本时遇到关于缺少 “lightgbm” 模块的问题。请遵循以下说明

i. 卸载 “lightgbm”

pip.exe uninstall lightgbm

ii. 重新安装 “lightgbm”

pip.exe install lightgbm

执行以下 SQL 语句,从 SQL Server 验证 PyCaret 安装

EXECUTE sp_execute_external_script

@language = N’Python’,

@script = N’

import pkg_resources

pckg_name = “pycaret”

pckgs = pandas.DataFrame([(i.key) for i in pkg_resources.working_set], columns = [“key”])

installed_pckg = pckgs.query(‘’key == @pckg_name’’)

print(“Package”, pckg_name, “is”, “not” if installed_pckg.empty else “”, “installed”) ’

五、ML 实验示例 — SQL Server 中的聚类

聚类是一种机器学习技术,它将具有相似特征的数据点进行分组。这些分组对于数据探索、模式识别和分析数据子集非常有用。聚类的一些常见业务用例包括:

✔ 用于营销目的的客户细分。

✔ 用于促销和折扣的客户购买行为分析。

✔ 在流行病(如 COVID-19)爆发中识别地理聚类。

1. K均值聚类

在 SQL Server 中运行以下 SQL 代码

EXECUTE sp_execute_external_script

@language = N’Python’,

@script = N’dataset = InputDataSet

import pycaret.clustering as pc

dataset = pc.get_clusters(data = dataset)

OutputDataSet = dataset’,

@input_data_1 = N’SELECT [Age], [Income], [SpendingScore], [Savings] FROM [jewellery]’

WITH RESULT SETS(([Age] INT, [Income] INT, [SpendingScore] FLOAT, [Savings] FLOAT, [Cluster] varchar(15)));

2. 输出

原始表会附带一个包含标签的新列 ‘Cluster’。

默认情况下,PyCaret 训练一个包含 4 个聚类的 K均值 聚类模型(即表中的所有数据点被分为 4 组)。默认值可以轻松更改

要更改聚类数量,可以在 get_clusters() 函数中使用 num_clusters 参数。

要更改模型类型,可以在 get_clusters() 函数中使用 model 参数。

3. K众数

请参阅以下代码以训练包含6 个聚类的 K众数模型

EXECUTE sp_execute_external_script

@language = N’Python’,

@script = N’dataset = InputDataSet

import pycaret.clustering as pc

dataset = pc.get_clusters(data = dataset, model=”kmodes”, num_clusters = 6)

OutputDataSet = dataset’,

@input_data_1 = N’SELECT [Age], [Income], [SpendingScore], [Savings] FROM [jewellery]’

WITH RESULT SETS(([Age] INT, [Income] INT, [SpendingScore] FLOAT, [Savings] FLOAT, [Cluster] varchar(15)));

按照这些步骤,你可以为 jewellery 数据集中的每个观测点分配聚类值。你也可以在其他数据集上使用类似的步骤进行聚类。

六、结论

在本文中,我们学习了如何在 SQL Server 中使用 Python 库(PyCaret)来构建聚类模型。同样,你可以根据业务问题的需求构建和运行其他类型的监督式和无监督式 ML 模型。

我未来的文章将是关于在 SQL Server 中使用 Python 和 Pycaret 探索监督学习技术(回归/分类)的教程。

七、重要链接

本文是关于如何使用以下工具在 SQL Server 中训练和部署无监督机器学习聚类模型的分步教程:(一个用于 Python 的低代码 ML 库).**

SQL Server 是微软的关系型数据库管理系统。作为一个数据库服务器,它的主要功能是根据不同应用程序的请求存储和检索数据。在本教程中,我们将使用** 进行机器学习,通过将 PyCaret 库导入 SQL Server。

如果你之前使用过 SQL Server,很可能已经安装并拥有数据库访问权限。如果没有,** 下载 SQL Server 2019 Developer 或其他版本。

** 或打开 SQL Server 安装中心下载“SQL Server 管理工具”文件 “SSMS-Setup-ENU.exe”

数据加载结果
脚本执行结果
脚本执行结果
命令提示符 — PyCaret 安装
命令提示符 — PyCaret 安装结束
脚本执行结果

在本教程中,我们将使用 PyCaret 的 **‘jewellery.csv’** 文件,该文件可在以下位置获取:.

jewellery 数据集中的样本数据点
SQL 语句结果

你可以进一步查阅网站,获取关于可以在 SQL Server 中以类似方式实现的,其他监督式和无监督式实验的文档。

📖
**PyCaret
**SQL Server 2019 ****Developer
**点击此处
**点击此处
Github 仓库
PyCaret
PyCaret
PyCaret:用户指南和文档
PyCaret:教程
我的 LinkedIn 个人资料