MySQL HeatWave 用户指南  /  第 3 章 HeatWave ML

第 3 章 HeatWave ML

HeatWave ML 使机器学习的使用变得容易,无论您是新手用户还是经验丰富的 ML 从业者。您提供数据,HeatWave ML 分析数据的特征并创建优化的机器学习模型,您可以使用该模型生成预测和解释。ML 模型通过识别数据中的模式并将这些模式应用于看不见的数据来进行预测。HeatWave ML 解释可帮助您了解如何进行预测,例如数据集的哪些特征对预测贡献最大。

监督学习

HeatWave ML 支持监督机器学习。也就是说,它通过分析标记的数据集来创建机器学习模型,以学习使其能够根据数据集的特征预测标签的模式。例如,本指南在其示例中使用了人口普查收入数据集,其中年龄、教育程度、职业、国家等特征用于预测个人收入(标签)。

创建模型后,它可以用于标签未知的看不见的数据来进行预测。在商业环境中,预测模型有多种可能的应用,例如预测客户流失、批准或拒绝信贷申请、预测客户等待时间等。

HeatWave ML 支持分类和回归模型。分类模型预测离散值,例如电子邮件是否是垃圾邮件、贷款申请应该被批准还是拒绝,或者客户可能有兴趣购买什么产品。回归模型预测连续值,例如客户等待时间、预期销售额或房价。模型类型在训练期间选择,分类是默认类型。

使用方便

HeatWave ML 专为易于使用而设计。它不需要机器学习专业知识、专用工具或算法。借助 HeatWave ML 和一组训练数据,您可以通过一次调用 ML_TRAIN SQL 例程来训练预测机器学习 (ML) 模型;例如:

CALL sys.ML_TRAIN('heatwaveml_bench.census_train', 'revenue', NULL, @census_model);

ML_TRAIN 例程利用 Oracle AutoML 技术自动训练机器学习模型。有关 Oracle AutoML 的信息,请参阅 Oracle AutoML

您可以使用由 ML_TRAIN 其他 HeatWave ML 例程创建的模型来生成预测和解释;例如,此 ML_PREDICT_TABLE 例程调用生成输入数据表的预测:

CALL sys.ML_PREDICT_TABLE('heatwaveml_bench.census_test', @census_model, 
'heatwaveml_bench.census_predictions');

所有 HeatWave ML 操作都通过运行 CALLSELECT语句启动,可以轻松集成到您的应用程序中。HeatWave ML 例程驻留在 MySQLsys架构中,可以从连接到具有 HeatWave 集群的数据库系统的任何 MySQL 客户端或应用程序运行。HeatWave ML 例程包括:

此外,使用 HeatWave ML,无需移动或重新格式化您的数据。数据和机器学习模型永远不会离开 MySQL 数据库服务,这可以节省您的时间和精力,同时确保您的数据和模型安全。

HeatWave 机器学习工作流程

一般的 HeatWave ML 工作流程描述如下:

  1. 调用例程时 ML_TRAIN ,HeatWave ML 会调用训练数据所在的 MySQL 数据库系统。训练数据从 MySQL 数据库系统发送并分布在并行执行机器学习计算的 HeatWave 集群中。请参阅 第 3.4 节,“训练模型”

  2. HeatWave ML 分析训练数据,训练优化的机器学习模型,并将模型存储在 MySQL 数据库系统的模型目录中。请参阅 第 3.9.1 节,“模型目录”

  3. HeatWave MLML_PREDICT_*ML_EXPLAIN_*例程使用经过训练的模型来生成对测试或未见数据的预测和解释。请参阅第 3.6 节“预测”第 3.7 节“解释”

  4. 预测和解释返回给数据库系统和发出查询的用户或应用程序。

或者,该 ML_SCORE 例程可用于计算模型的质量,以确保预测和解释的可靠性。请参阅 第 3.9.6 节,“评分模型”

笔记

HeatWave ML 与 HeatWave 共享资源。HeatWave 分析查询优先于 HeatWave ML 查询。不支持并发 HeatWave 分析和 HeatWave ML 查询。HeatWave ML 查询必须等待 HeatWave 分析查询完成,反之亦然。

甲骨文自动机器学习

HeatWave ML ML_TRAIN 例程利用 Oracle AutoML 技术自动执行机器学习模型的训练过程。Oracle AutoML 取代了数据分析师的费时费力的工作,其工作流程如下:

  1. 从大量可行的候选模型中选择一个模型。

  2. 对于每个模型,调整超参数。

  3. 仅选择预测特征来加速管道并减少过度拟合。

  4. 确保模型在看不见的数据上表现良好(也称为泛化)。

Oracle AutoML 自动执行此工作流,为您提供给定时间预算的最佳模型。HeatWave ML 例程使用的 Oracle AutoML 管道 ML_TRAIN 具有以下阶段:

  • 数据预处理

  • 算法选择

  • 自适应数据缩减

  • 超参数优化

  • 模型和预测解释

图 3.1 Oracle AutoML 管道

显示 Oracle AutoML 管道的图像。

Oracle AutoML 还可以非常高效地生成高质量模型,这是通过可扩展的设计和智能选择来实现的,这些选择减少了管道中每个阶段的试验。

  • 可扩展设计:Oracle AutoML 管道能够利用 HeatWave 节点间和节点内并行性,从而提高可扩展性并减少运行时间。

  • 智能选择减少每个阶段的试验:根据数据集特征选择算法和参数,确保模型的准确和高效选择。这是通过在整个管道中使用元学习来实现的。

有关 Oracle AutoML 的更多信息,请参阅 Yakovlev、Anatoly 等人。“Oracle automl:一种快速且可预测的 automl 管道。” VLDB 捐赠会论文集 13.12 (2020): 3166-3180