创建和使用 Oracle Analytics 预测模型

Oracle Analytics 预测模型使用多个嵌入式 Oracle Machine Learning 算法来挖掘数据集、预测目标值或标识记录类。使用数据流编辑器创建和训练预测模型,并将预测模型应用于数据。

什么是 Oracle Analytics 预测模型?

Oracle Analytics 预测模型向数据集应用特定算法,用于预测值、预测分类或标识数据中的组。

您还可以使用 Oracle Machine Learning 模型来预测数据。

Oracle Analytics 包含的算法可帮您训练预测模型来实现各种目的。算法示例包括:分类回归树 (classification and regression tree, CART)、逻辑回归和 k-平均值 (k-means)。

首先使用数据流编辑器在训练数据集上训练模型。训练预测模型之后,将其应用于要预测的数据集。

您可以将经过训练的模型提供给其他用户,这样他们即可对其数据应用该模型来预测值。在某些情况下,一些用户训练模型,而另一些用户应用模型。

注:

如果您不确定在数据中查找哪些内容,可以从使用“解释”开始,这样您可以使用机器学习来确定趋势和模式。然后可以使用数据流编辑器创建和训练预测模型,从而深入研究“解释”发现的趋势和模式。
使用数据流编辑器训练模型:
  • 首先,创建数据流并添加要用于训练模型的数据集。此训练数据集包含要预测的数据(例如,诸如销售额或寿命的值,或诸如信用风险桶的变量)。
  • 如有需要,您可以使用数据流编辑器通过添加列、选择列、联接等方式编辑数据集。
  • 确认数据即为训练模型所针对的数据后,向数据流添加训练步骤并选择分类(二元分类或多分类)、回归或聚类算法来训练模型。然后为产生的模型命名、保存数据流,并运行数据流来训练和创建模型。
  • 检查机器学习对象中的属性来确定模型的质量。如有需要,您可以迭代训练过程直到模型达到想要的质量为止。

使用最终模型可以对未知或不带标签的数据进行评分,以便在数据流中生成数据集或将预测可视化添加到工作簿。

示例

假设您要创建并训练一个多分类模型来预测哪些病人患心脏病的风险更高。

  1. 提供一个训练数据集,其中包括各个病人的相关属性,如年龄、性别、是否有过胸痛症状,以及诸如血压、空腹血糖、胆固醇和最大心率等指标。训练数据集中还应包含一个名为“可能性”的列,为其分配以下值之一:不存在、不太可能、可能、极有可能或存在。
  2. 选择 CART(决策树)算法,因为这种算法会忽略没有为预测添加值的冗余列,并仅标识且使用有助于预测目标的列。向数据流添加算法时,选择“可能性”列来训练模型。算法将使用机器学习来选择需要执行的驱动因素列并输出预测结果和相关数据集。
  3. 检查结果并微调训练模型,然后将模型应用于更大的数据集以预测哪些病人患心脏病的可能性更高。

如何选择预测模型算法?

Oracle Analytics 提供的算法可满足任何机器学习建模需求:数字预测、多元分类器、二元分类器和聚类。

Oracle 的机器学习功能旨在供高级数据分析师使用,他们清楚要在数据中查找哪些内容、熟悉预测分析实践并且了解不同算法之间的差别。

注:

如果使用的数据源自 Oracle Autonomous Data Warehouse ,则您可以使用 AutoML 功能快速轻松地训练预测模型,无需掌握机器学习技能。请参见在 Oracle Autonomous Data Warehouse 中使用 AutoML 训练预测模型

通常用户希望创建多个预测模型、对它们进行比较,然后选择最能得出满足其标准和要求的结果的模型。这些标准可能会有所变化。例如,有时用户会选择整体准确度较好的模型,有时用户会选择类型 I(正错 (false positive))和类型 II(负错 (false negative))错误最少的模型,有时用户会选择返回结果更快、结果虽不理想但准确度在可接受范围内的模型。

Oracle Analytics 包含多种机器学习算法,适用于各种预测或分类。使用这些算法,用户可以创建多个模型,或使用不同的微调参数,或使用不同的输入训练数据集,然后选择最佳模型。用户可以通过比较各个模型并根据各自标准得出模型权重来选择最佳模型。为确定最佳模型,用户可以应用模型并可视化计算的结果来确定准确度,也可以打开并浏览 Oracle Analytics 使用模型输出的相关数据集。

可参阅下表了解提供的算法:

名称 类型 类别 函数 说明
CART

分类

回归

二元分类器

多元分类器

数字

- 使用决策树来预测离散值和连续值。

与大型数据集配合使用。

弹性网络线性回归 回归 数字 ElasticNet 高级回归模型。提供附加信息(正则化),执行变量选择,以及执行线性组合。对 Lasso(拉索)回归法和 Ridge(岭)回归法进行罚分。

当具有大量属性时使用,以免出现共线性(其中多个属性完全相关)和过度拟合。

分层 聚类 聚类 AgglomerativeClustering 使用从下到上(每个观察值属于各自的聚类,然后合并)或从上到下(所有观察值开始时都为一个聚类)的方式和距离度量构建聚类层次。

在数据集不是很大且事先不知道聚类数量时使用。

K-平均值 (K-Means) 聚类 聚类 k-means 以迭代方式将观察值分入 k 聚类中,其中每个观察值属于具有最接近平均值的聚类。

用于聚类度量列,并对所需聚类数设有一定期望值。对大型数据集的使用效果很好。每次运行的结果会有所不同。

线性回归 回归 数字 Ordinary Least Squares(最小二乘法)

Ridge(岭)

Lasso(拉索)

用于对目标变量与数据集中其他属性之间的关系建模的线性方法。

在属性不完全相关时用于预测数值。

逻辑回归 回归 二元分类器 LogisticRegressionCV 用于预测类别因变量的值。该因变量是一种二进制变量,包含编码为 1 或 0 的数据。
朴素贝叶斯 分类

二元分类器

多元分类器

GaussianNB 概率分类基于贝叶斯定理,该定理假设特征之间没有相关性。

当有大量输入维时使用。

神经网络 分类

二元分类器

多元分类器

MLPClassifier 这种迭代分类算法的学习方式为:将其分类结果与实际值进行比较,然后将结果返回网络来修改算法以便进行后续迭代。

用于文本分析。

随机森林 分类

二元分类器

多元分类器

数字

- 一种集成学习方法,可构建多个决策树并输出可总体代表所有决策树的值。

用于预测数字和类别变量。

SVM 分类

二元分类器

多元分类器

LinearSVC、SVC 通过将记录映射到空间并构建可用于分类的超平面,对记录进行分类。随后,该算法会将新记录(评分数据)映射到空间,根据这些记录所在的超平面的边来预测它们属于哪个类别。

使用 Oracle Autonomous Data Warehouse 中的 AutoML 训练预测模型

当您使用 Oracle Autonomous Data Warehouse 中的数据时,可以使用 AutoML 功能推荐和训练预测模型。AutoML 会分析数据,计算要使用的最佳算法,并在 Oracle Analytics 中注册预测模型,以便您可以对数据进行预测。

使用 AutoML 意味着 Oracle Autonomous Data Warehouse 替您完成所有辛苦工作,这样您无需掌握机器学习或人工智能技能,就可以部署预测模型。生成的预测模型保存在“机器学习”页的“模型”区域中。要基于新模型预测数据,请创建数据流并使用应用模型步骤。
准备工作:
  • 基于 Oracle Autonomous Data Warehouse 中要用于预测的数据创建数据集。例如,您可能有关于员工减员的数据,包括一个名为 ATTRITION 字段,此字段用“是”或“否”指示是否为减员。
  • 确保 Oracle Analytics 与 Oracle Autonomous Data Warehouse 的连接中指定的数据库用户具有 OML_Developer 角色,并且不是“管理员”超级用户。否则,当您尝试保存或运行数据流时,它会失败。
  1. 主页上,依次单击创建数据流
  2. 添加数据集中,选择基于 Oracle Autonomous Data Warehouse 的包含要分析的数据的数据集。
  3. 单击添加步骤,然后单击 AutoML
  4. 对于目标,单击选择列,然后选择包含要预测的值的数据列。
    例如,要预测员工减员,您可以选择一个名为 ATTRITION 的字段,此字段用 'TRUE' 或 'FALSE' 指示员工是否已离开组织。

  5. 接受 Oracle Analytics 建议的任务类型模型排名度量,或者选择其他算法。
  6. 单击保存模型,并指定生成的预测模型的名称。
  7. 单击保存,并指定数据流的名称。
  8. 单击运行以分析数据并生成预测模型。
  9. 从主页中,依次单击导航机器学习,然后右键单击生成的模型,并选择检查
您可以在模型选项卡的机器学习页中查找 Oracle Analytics 生成的模型。检查模型以评估其质量。请参见评估预测模型的质量。您还可以参阅为 AutoML 生成的模型生成的相关数据集。请参见什么是预测模型的相关数据集?

创建和训练预测模型

高级数据分析师创建并训练预测模型,以便他们可以使用这些模型部署 Oracle Machine Learning 算法来挖掘数据集、预测目标值或标识记录类。使用数据流编辑器可创建和训练预测模型,并将其应用于数据。

“教程”图标 LiveLabs Sprint

要得到准确的模型,需要经过迭代过程,高级数据分析师会尝试不同的模型、比较它们的结果,然后根据试验和错误微调参数。数据分析师可以使用最终的准确预测模型来预测其他数据集中的趋势或将模型添加到工作簿。

注:

如果使用的数据源自 Oracle Autonomous Data Warehouse ,则您可以使用 AutoML 功能快速轻松地训练预测模型,无需掌握机器学习技能。请参见在 Oracle Autonomous Data Warehouse 中使用 AutoML 训练预测模型

Oracle Analytics 为数字预测、多分类、二元分类和聚类提供了算法。

  1. 主页上,单击创建,然后选择数据流
  2. 选择要用于训练模型的数据集。单击添加
  3. 在数据流编辑器中,单击添加步骤 (+)
    添加数据集之后,可以使用数据集中的所有列来构建模型或仅选择相关列。选择相关列需要了解数据集。忽略那些已知不会影响结果行为或包含冗余信息的列。可以通过添加选择列步骤来仅选择相关列。如果您无法确定相关列,可以使用所有列。
  4. 选择一个训练模型步骤(例如,训练数字预测训练聚类)。
  5. 选择算法,然后单击确定
  6. 如果您使用的是诸如预测或分类的监管模型,则单击目标,然后选择要进行预测的列。例如,如果创建的是预测人员收入的模型,则选择“收入”列。
    如果使用的是诸如聚类的非监管模型,则无需选择目标列。
  7. 更改模型的默认设置以微调和提高预测结果的准确度。这些设置取决于所使用的模型。
  8. 单击保存模型步骤,然后提供名称和说明。
  9. 单击保存,输入数据流的名称和说明,然后单击确定以保存数据流。
  10. 单击运行数据流以根据输入数据集和您提供的模型设置来创建预测模型。

用于训练机器学习模型的数据流步骤

在 Oracle Analytics 中可以使用数据流中的步骤训练机器学习模型。训练机器学习模型后,使用应用模型步骤将该模型应用于数据。

步骤名称 说明
AutoML(需要 Oracle Autonomous Data Warehouse) 可使用 Oracle Autonomous Data Warehouse 的 AutoML 功能为您推荐和训练预测模型。在 AutoML 步骤中,将分析数据,计算要使用的最佳算法,并在 Oracle Analytics 中注册预测模型。
训练二元分类器

训练机器学习模型以将数据分类为两种预定义的类别之一。

训练聚类 训练机器学习模型以划分具有相似特征的组并将它们分配到相应聚类中。
训练多元分类器 训练机器学习模型以将数据分类为三种或更多预定义的类别。
训练数字预测 训练机器学习模型以根据已知数据值预测数值。

检查预测模型

创建预测模型并运行数据流后,可以复查有关该模型的信息以确定其准确度。可使用此信息以迭代方式调整模型设置,以提高其准确度并更好地预测结果。

查看预测模型详细信息

预测模型的详细信息可帮助您了解模型,并确定它是否适合预测您的数据。模型详细信息包括其模型类、算法、输入列和输出列

  1. 主页上,依次单击导航器机器学习
  2. 单击训练模型的菜单图标,然后选择检查
  3. 单击详细信息以查看模型的信息。

评估预测模型的质量

查看可帮助您了解预测模型质量的信息。例如,可以查看准确度度量,如模型准确度、精度、召回率、F1 值和正错 (false positive) 率等。

无论使用哪种算法来创建模型,Oracle Analytics 都会提供类似的度量,因此很容易在不同模型之间进行比较。在模型创建过程中,输入数据集分为两个部分,分别根据“训练分区百分比”参数来训练和测试模型。模型使用数据集的测试部分来测试所构建模型的准确度。
根据您在质量选项卡中的查找结果,您可能需要调整模型参数并对其进行重新训练。
  1. 主页上,依次单击导航器机器学习
  2. 单击训练模型的菜单图标,然后选择检查
  3. 单击质量选项卡以查看模型的质量度量以及评估模型。例如,查看模型精确度评分。

提示:单击更多以查看为模型生成的视图的详细信息。

什么是预测模型的相关数据集?

当您运行数据流创建 Oracle Analytics 预测模型的训练模型时,Oracle Analytics 会创建一组相关数据集。您可以根据这些数据集打开和创建工作簿,了解模型的准确度。

根据为模型选择的算法,相关数据集包含有关模型的详细信息,例如:预测规则、准确度度量、混淆矩阵和预测的关键驱动因素等。您可以使用这些信息微调模型从而获得更好的结果,还可以使用相关数据集对模型进行比较并决定哪个模型更准确。

例如,可以打开“驱动因素”数据集,发现哪些列会对模型产生巨大的正面或负面影响。通过检查这些列,您会发现有一些列未视为模型变量,因为它们不是现实的输入,或者它们对于预测来说粒度过细。可以使用数据流编辑器打开模型,并根据发现的信息删除不相关或粒度过细的列,然后重新生成模型。您可以检查“质量和结果”选项卡并验证模型准确度是否得到改进。继续此过程,直到您对模型的准确度满意并可将其用于对新数据集进行评分为止。

不同的算法会生成相似的相关数据集。数据集中各个参数和列名可能会根据算法类型有所变化,但数据集的功能保持不变。例如,统计数据集中的列名可能从“线性回归”更改为“逻辑回归”,但统计数据集包含模型的准确度度量。

AutoML 模型的相关数据集

当您使用 AutoML 训练预测模型时,Oracle Analytics 将创建包含模型有用信息的其他数据集。创建的数据集数取决于模型算法。例如,对于朴素贝叶斯模型,Oracle Analytics 将创建提供条件概率信息的数据集。对于决策树模型,数据集提供有关决策树统计信息的信息。当您检查使用 AutoML 和广义线性模型 (Generalized Linear Model, GLM) 算法生成的模型时,您将看到特定于模型的数据集条目(前缀为 GLM*),这些数据集包含有关模型的元数据信息。
GUID-1A190D76-82D5-4BEC-82C4-D881CFECA14D-default.png 的说明如下
.png 的说明

相关数据集

注:

Oracle Analytics 将数据流的输出名称附加到相关的数据集类型。例如,对于 CART 模型,如果数据流的输出名为 cart_model2,则数据集名为 cart_model2_CART。

CART

Oracle Analytics 为 CART(Classification and Regression Tree,分类回归树)相关数据集创建表,其所包含的列表示决策树中的条件及这些条件的标准、每个组的预测和预测置信度。使用树图表可视化来可视化此决策树。

当您选择这些模型和算法组合时,将创建 CART 数据集。

模型 算法
数字 用于数字预测的 CART
二元分类 CART
多分类 CART

分类报表

Oracle Analytics 为“分类报表”相关数据集创建表。例如,如果目标列可以具有两个不同的值“是”或“否”,则此数据集会为目标列的每个不同值显示准确度度量,例如 F1 值、精度、召回率和支持率(训练数据集中具有此值的行数)。

当您选择这些模型和算法组合时,将创建“分类”数据集。

模型 算法
二元分类

朴素贝叶斯

神经网络

支持向量机

多分类

朴素贝叶斯

神经网络

支持向量机

混淆矩阵

Oracle Analytics 为“混淆矩阵”相关数据集(也称为错误矩阵)创建数据透视表。每一行表示预测类的一个实例,每一列表示实际类中的一个实例。此表会报告正错 (false positive)、负错 (false negative)、正对 (true positive) 和负对 (true negative) 的数量,用于计算精度、召回率和 F1 值等准确度度量。

当您选择这些模型和算法组合时,将创建“混淆矩阵”数据集。

模型 算法
二元分类

逻辑回归

CART(决策树)

朴素贝叶斯

神经网络

随机森林

支持向量机

多分类

CART(决策树)

朴素贝叶斯

神经网络

随机森林

支持向量机

驱动因素

Oracle Analytics 为“驱动因素”相关数据集创建表,该数据集包含用于确定目标列值的列的相关信息。线性回归用于标识这些列。每一列均分配有系数值和相关性值。系数值描述用于确定目标列值的列的权重值。相关性值指示目标列与从属列之间的关系方向。例如,目标列的值是随从属列值增大还是减小。

当您选择这些模型和算法组合时,将创建“驱动因素”数据集。

模型 算法
数字

线性回归

弹性网络线性回归

二元分类

逻辑回归

支持向量机

多分类 支持向量机

Hitmap

Oracle Analytics 为 Hitmap 相关数据集创建表,该数据集包含决策树叶节点的相关信息。表中的每一行表示一个叶节点,并包含描述叶节点所表示内容的信息,例如段大小、置信度和预期行数。例如,预期的正确预测数 = 段大小 * 置信度。

当您选择这些模型和算法组合时,将创建 Hitmap 数据集。

模型 算法
数字 用于数字预测的 CART

残差

Oracle Analytics 为“残差”相关数据集创建表,该数据集包含残差预测质量的相关信息。残差是测量值与回归模型预测值之间的差值。此数据集包含数据集中所有列的实际值与预测值之间绝对差的聚合总和值。

当您选择这些模型和算法组合时,将创建“残差”数据集。

模型 算法
数字

线性回归

弹性网络线性回归

用于数字预测的 CART

二元分类 CART(决策树)
多分类 CART(决策树)

统计信息

Oracle Analytics 为“统计信息”相关数据集创建表。此数据集的度量取决于用于生成该数据集的算法。请注意如下基于算法的度量列表:

  • 线性回归、用于数字预测的 CART、弹性网络线性回归 — 这些算法包含 R 平方 (R-Square)、调整后的 R 平方 (R-Square Adjusted)、平均绝对误差 (Mean Absolute Error, MAE)、均方误差 (Mean Squared Error, MSE)、相对绝对误差 (Relative Absolute Error, RAE)、相对平方误差 (Relative Squared Error, RSE)、均方根误差 (Root Mean Squared Error, RMSE)。
  • CART(Classification And Regression Tree, 分类回归树)、朴素贝叶斯分类、神经网络、支持向量机 (Support Vector Machine, SVM)、随机森林、逻辑回归 — 这些算法包含准确度、F1 值总计。

当您选择这些模型和算法组合时,将创建此数据集。

模型 算法
数字

线性回归

弹性网络线性回归

用于数字预测的 CART

二元分类

逻辑回归

CART(决策树)

朴素贝叶斯

神经网络

随机森林

支持向量机

多分类

朴素贝叶斯

神经网络

随机森林

支持向量机

概要

Oracle Analytics 为“概要”相关数据集创建表,该数据集包含诸如目标名称和模型名称等信息。

当您选择这些模型和算法组合时,将创建“概要”数据集。

模型 算法
二元分类

朴素贝叶斯

神经网络

支持向量机

多分类

朴素贝叶斯

神经网络

支持向量机

查找预测模型的相关数据集

训练预测模型时会生成相关数据集。

根据算法,相关数据集包含有关模型的详细信息,例如:预测规则、准确度度量、混淆矩阵、预测的关键驱动因素等。这些参数可帮助您了解模型用于确定预测和分类的规则。
  1. 主页上,依次单击导航器机器学习
  2. 单击训练模型的菜单图标,然后选择检查
  3. 单击相关选项卡以访问模型的相关数据集。
  4. 双击相关数据集进行查看或将其用于某个工作簿。

将预测模型添加到工作簿

在工作簿中创建方案时,可将预测模型应用于工作簿的数据集,以显示要使用模型查找的趋势和模式。

注:

您不能向工作簿数据应用 Oracle Machine Learning 模型。
将模型添加到工作簿并将模型的输入映射到数据集的列之后,数据窗格会包含模型的对象,您可以将其拖放到画布上。机器学习基于可视化的相应数据列生成模型的值。
  1. 主页上,依次单击创建工作簿
  2. 选择要用于创建工作簿的数据集,然后单击添加到工作簿
  3. 数据窗格中,单击添加,然后选择创建方案
  4. 创建方案 - 选择模型对话框中,选择模型,然后单击确定
    您只能应用预测模型,而不能应用 Oracle Machine Learning 模型。
    如果每个模型输入都无法与数据元素匹配,则显示将数据映射到模型对话框。
  5. 如果显示将数据映射到模型对话框,则在数据集字段中,选择要与模型一起使用的数据集。
  6. 根据需要匹配模型输入和数据元素。单击完成
    方案在数据元素窗格中显示为数据集。
  7. 将数据集和模型中的元素拖放到可视化画布上。
  8. 要调整方案,请右键单击数据元素窗格中的方案,然后选择编辑方案
  9. 根据需要更改数据集和更新模型输入与数据元素映射。
  10. 单击保存保存工作簿。