Press "Enter" to skip to content

你的模型好吗?深入了解Amazon SageMaker Canvas高级指标

如果你是一名业务分析师,了解客户行为可能是你最关心的事情之一。了解客户购买决策背后的原因和机制可以促进收入增长。然而,客户流失(通常称为客户流失)始终存在风险。了解客户离开的原因同样至关重要,以维持利润和收入。

尽管机器学习(ML)可以提供有价值的见解,但在引入Amazon SageMaker Canvas之前,需要机器学习专家来构建客户流失预测模型。

SageMaker Canvas是一种低代码/无代码托管服务,可以让你创建能够解决许多业务问题的ML模型,而无需编写任何代码。它还可以让你像数据科学家一样使用高级指标评估模型。

在本文中,我们展示了业务分析师如何使用SageMaker Canvas中的“高级指标”选项卡评估和理解使用SageMaker Canvas创建的分类流失模型。我们解释了这些指标,并展示了处理数据以获得更好模型性能的技巧。

先决条件

如果您想要实施本文中描述的所有或部分任务,您需要具有访问SageMaker Canvas的AWS帐户。请参阅使用Amazon SageMaker Canvas进行无代码机器学习预测客户流失,了解有关SageMaker Canvas、流失模型和数据集的基础知识。

模型性能评估简介

作为一般准则,当您需要评估模型的性能时,您试图衡量模型在看到新数据时预测某些内容的能力。这个预测被称为推理。您首先使用现有数据训练模型,然后要求模型在尚未见过的数据上预测结果。模型预测结果的准确性是您用来理解模型性能的指标。

如果模型没有看到新数据,那么任何人怎么知道预测是好还是坏呢?嗯,实际上是使用已知结果的历史数据,并将这些值与模型预测的值进行比较。这是通过保留历史训练数据的一部分,以便与模型对这些值的预测进行比较。

以客户流失为例(这是一个分类问题),您首先拥有一个描述具有许多属性的客户的历史数据集(每个记录中的一个属性)。其中一个属性称为Churn,可以是True或False,描述客户是否离开了服务。为了评估模型的准确性,我们将该数据集分为两部分,并使用其中一部分(训练数据集)训练模型,然后使用另一部分(测试数据集)要求模型预测结果(将客户分类为Churn或非Churn)。然后,我们将模型的预测与测试数据集中包含的真实结果进行比较。

解读高级指标

在本节中,我们将讨论SageMaker Canvas中的高级指标,这些指标可以帮助您理解模型的性能。

混淆矩阵

SageMaker Canvas使用混淆矩阵帮助您可视化模型生成的预测是否正确。在混淆矩阵中,您的结果被排列以比较预测值与实际历史(已知)值。以下示例说明了混淆矩阵在预测正负标签的两类预测模型中的工作原理:

  • 真正例 – 当真实标签为正时,模型正确预测为正
  • 真反例 – 当真实标签为负时,模型正确预测为负
  • 假正例 – 当真实标签为负时,模型错误预测为正
  • 假反例 – 当真实标签为正时,模型错误预测为负

以下图像是两个类别的混淆矩阵示例。在我们的流失模型中,实际值来自测试数据集,预测值来自询问模型。

你的模型好吗?深入了解Amazon SageMaker Canvas高级指标 四海 第1张

准确率

准确率是测试集中所有行或样本的正确预测百分比。它是被正确预测为True的真样本加上被正确预测为False的假样本,除以数据集中的总样本数。

这是一个非常重要的指标,因为它将告诉您模型正确预测的百分比,但在某些情况下可能会产生误导。例如:

  • 类别不平衡 – 当数据集中的类别不均匀分布(一个类别的样本数量过多,其他类别的样本数量很少)时,准确率可能会产生误导。在这种情况下,即使一个简单地为每个实例预测多数类别的模型也可以达到较高的准确率。
  • 成本敏感分类 – 在某些应用中,不同类别的错分成本可能不同。例如,如果我们预测一种药物是否会加重某种病情,那么一个假阴性(例如,预测药物可能不会加重,但实际上加重了)可能比一个假阳性(例如,预测药物可能会加重,但实际上没有)的代价更高。

精确率、召回率和F1分数

精确率是真正例(TP)占所有预测正例(TP + FP)的比例。它衡量了预测为正例的正例中实际正确的比例。

召回率是真正例(TP)占所有实际正例(TP + FN)的比例。它衡量了模型正确预测为正例的实例中实际正例的比例。

F1分数结合了精确率和召回率,提供了一个平衡它们之间权衡的单一分数。它定义为精确率和召回率的调和平均值:

F1分数 = 2 * (精确率 * 召回率) / (精确率 + 召回率)

F1分数的取值范围为0-1,较高的分数表示较好的性能。完美的F1分数为1表示模型同时达到了完美的精确率和召回率,而分数为0表示模型的预测完全错误。

F1分数提供了对模型性能的平衡评估。它考虑了精确率和召回率,提供了更具信息性的评估指标,反映了模型正确分类正例并避免假阳性和假阴性的能力。

例如,在医疗诊断、欺诈检测和情感分析中,F1分数尤为重要。在医疗诊断中,准确识别特定疾病或病情的存在至关重要,假阴性或假阳性可能会产生重大后果。F1分数同时考虑了精确率(正确识别正例的能力)和召回率(找到所有正例的能力),对模型在检测疾病方面的性能进行了平衡评估。同样,在欺诈检测中,实际欺诈案例的数量相对较低,而非欺诈案例的数量相对较高(类别不平衡),仅仅准确率可能会因为真阴性数量较多而产生误导。F1分数综合考虑了模型检测欺诈和非欺诈案例的能力,同时考虑了精确率和召回率。在情感分析中,如果数据集不平衡,准确率可能无法准确反映模型在分类正面情感类别实例方面的性能。

AUC(曲线下面积)

AUC指标评估了二分类模型在所有分类阈值下区分正例和负例的能力。阈值是模型用于在两个可能的类别之间做出决策的值,将样本属于某个类别的概率转化为二进制决策。为了计算AUC,绘制了真正例率(TPR)和假正例率(FPR)在不同阈值设置下的曲线。TPR衡量了所有实际正例中真正例的比例,而FPR衡量了所有实际负例中假正例的比例。得到的曲线称为接收者操作特征(ROC)曲线,提供了TPR和FPR在不同阈值设置下的可视化表示。AUC值的取值范围为0-1,表示ROC曲线下的面积。较高的AUC值表示较好的性能,完美分类器的AUC为1。

下图显示了ROC曲线,以TPR为Y轴,FPR为X轴。曲线越接近绘图的左上角,模型在将数据分类到各个类别方面的性能越好。

你的模型好吗?深入了解Amazon SageMaker Canvas高级指标 四海 第2张

为了澄清,让我们举个例子。让我们考虑一个欺诈检测模型。通常,这些模型是从不平衡的数据集中训练的。这是因为通常数据集中的几乎所有交易都是非欺诈交易,只有少数被标记为欺诈。在这种情况下,仅仅准确度可能无法充分捕捉模型的性能,因为它可能受到非欺诈案例的丰富影响,导致准确度得分误导性地偏高。

在这种情况下,AUC将是一个更好的指标来评估模型性能,因为它提供了对模型区分欺诈和非欺诈交易能力的综合评估。它提供了更细致的评估,考虑了在不同分类阈值下真正例率和假正例率之间的权衡。

就像F1分数一样,当数据集不平衡时,AUC特别有用。它衡量了真正例率和假正例率之间的权衡,并展示了模型如何能够无视它们的分布来区分这两个类别。这意味着即使一个类别明显小于另一个类别,ROC曲线也会通过平等考虑两个类别来平衡地评估模型的性能。

其他关键主题

高级指标并不是用于评估和提高机器学习模型性能的唯一重要工具。数据准备、特征工程和特征重要性分析是模型构建中必不可少的技术。这些活动在从原始数据中提取有意义的洞察和改善模型性能方面发挥着关键作用,从而产生更健壮和富有洞察力的结果。

数据准备和特征工程

特征工程是从原始数据中选择、转换和创建新变量(特征)的过程,对提高机器学习模型性能起着关键作用。从可用数据中选择最相关的变量或特征涉及到删除不相关或冗余的特征,这些特征对模型的预测能力没有贡献。将数据特征转换为合适的格式包括缩放、归一化和处理缺失值。最后,通过数学变换、组合或交互不同的特征,或者利用领域专业知识创建新的特征来创建新特征。

特征重要性分析

SageMaker Canvas生成一个特征重要性分析,解释了数据集中每一列对模型的影响。当生成预测时,您可以看到标识每个预测中具有最大影响的列。这将为您提供哪些特征应该成为最终模型的一部分,哪些特征应该被舍弃的洞察。列影响是一个百分比得分,指示某列在进行预测时相对于其他列的权重有多大。对于25%的列影响,Canvas将把该列的预测权重设为25%,其他列设为75%。

提高模型准确度的方法

虽然有多种方法可以提高模型准确度,但数据科学家和机器学习实践者通常采用本节讨论的两种方法之一,并使用前面描述的工具和指标。

模型中心方法

在这种方法中,数据始终保持不变,并用于迭代地改进模型以达到期望的结果。使用这种方法的工具包括:

  • 尝试多个相关的机器学习算法
  • 算法和超参数调整和优化
  • 不同的模型集成方法
  • 使用预训练模型(SageMaker提供各种内置或预训练模型来帮助机器学习实践者)
  • AutoML,这就是SageMaker Canvas在幕后执行的操作(使用Amazon SageMaker Autopilot),涵盖了上述所有内容

数据中心方法

在这种方法中,重点是数据准备,改善数据质量,并迭代修改数据以提高性能:

  • 探索用于训练模型的数据集的统计信息,也称为探索性数据分析(EDA)
  • 改善数据质量(数据清洗、缺失值填充、异常值检测和管理)
  • 特征选择
  • 特征工程
  • 数据增强

使用Canvas提高模型性能

我们从数据中心方法开始。我们使用模型预览功能进行初始的探索性数据分析。这为我们提供了一个基准,可以用来进行数据增强生成新的基准,并最终通过使用标准构建功能采用模型中心方法获得最佳模型。

我们使用了一家电信移动运营商的合成数据集。这个样本数据集包含了5,000条记录,每条记录使用21个属性来描述客户的资料。详细描述请参考使用Amazon SageMaker Canvas进行无代码机器学习预测客户流失。

以数据为中心的模型预览

作为第一步,我们打开数据集,选择要预测的列为“是否流失”,然后通过选择预览模型来生成一个预览模型。

你的模型好吗?深入了解Amazon SageMaker Canvas高级指标 四海 第3张

预览模型窗格将显示预览模型的进度,直到预览模型准备完毕。

你的模型好吗?深入了解Amazon SageMaker Canvas高级指标 四海 第4张

当模型准备完毕时,SageMaker Canvas将生成一个特征重要性分析。

你的模型好吗?深入了解Amazon SageMaker Canvas高级指标 四海 第5张

最后,当完成时,窗格将显示一列具有其对模型的影响的列的列表。这些信息对于了解特征对我们的预测有多重要非常有用。列的影响是一个百分比得分,表示一列在进行预测时相对于其他列有多大的权重。在下面的例子中,对于“夜间通话”列,SageMaker Canvas将预测权重为4.04%,而其他列为95.9%。数值越高,影响越大。

正如我们所看到的,预览模型的准确率为95.6%。让我们尝试使用以数据为中心的方法来提高模型的性能。我们进行数据准备并使用特征工程技术来提升性能。

如下面的截图所示,我们可以观察到电话和州的列对我们的预测影响很小。因此,我们将使用这些信息作为下一阶段数据准备的输入。

你的模型好吗?深入了解Amazon SageMaker Canvas高级指标 四海 第6张

SageMaker Canvas提供了机器学习数据转换功能,您可以使用这些功能清理、转换和准备数据进行模型构建。您可以在数据集上使用这些转换功能而无需编写任何代码,并且它们将被添加到模型配方中,该配方记录了在构建模型之前对数据进行的数据准备过程。

请注意,您使用的任何数据转换只会在构建模型时修改输入数据,而不会修改您的数据集或原始数据源。

在SageMaker Canvas中,您可以使用以下转换功能来准备数据进行模型构建:

  • 日期时间提取
  • 删除列
  • 筛选行
  • 函数和运算符
  • 管理行
  • 重命名列
  • 删除行
  • 替换值
  • 重新采样时间序列数据

让我们首先删除我们发现对我们的预测影响很小的列。

例如,在这个数据集中,电话号码只是一个账号号码的等价物,它在预测其他账号流失的可能性时毫无用处甚至有害。同样,客户所在的州对我们的模型影响不大。让我们通过取消选择列名下的这些特征来删除Phone和State列。

你的模型好吗?深入了解Amazon SageMaker Canvas高级指标 四海 第7张

现在,让我们执行一些额外的数据转换和特征工程。

例如,在我们之前的分析中,我们注意到向客户收取的费用直接影响流失。因此,让我们创建一个新的列,通过组合白天、傍晚、夜晚和国际通话的费用、分钟数和通话次数来计算我们向客户收取的总费用。为此,我们使用SageMaker Canvas中的自定义公式。

你的模型好吗?深入了解Amazon SageMaker Canvas高级指标 四海 第8张

让我们从选择函数开始,然后将以下文本添加到公式文本框中:

(白天呼叫*白天费用*白天分钟数)+(晚上呼叫*晚上费用*晚上分钟数)+(夜间呼叫*夜间费用*夜间分钟数)+(国际呼叫*国际费用*国际分钟数)

给新列命名(例如,总费用),并在生成预览后选择添加。模型配方现在应如下屏幕截图所示。

你的模型好吗?深入了解Amazon SageMaker Canvas高级指标 四海 第9张

当数据准备完成后,我们训练一个新的预览模型以查看模型是否改进。再次选择预览模型,右下窗格将显示进度。

你的模型好吗?深入了解Amazon SageMaker Canvas高级指标 四海 第10张

训练完成后,它将继续重新计算预测准确率,并创建一个新的列影响分析。

你的模型好吗?深入了解Amazon SageMaker Canvas高级指标 四海 第11张

最后,当整个过程完成时,我们可以看到与之前相同的窗格,但具有新的预览模型准确性。您可以注意到模型准确性提高了0.4%(从95.6%提高到96%)。

你的模型好吗?深入了解Amazon SageMaker Canvas高级指标 四海 第12张

前面图像中的数字可能与您的数字不同,因为机器学习在训练模型的过程中引入了一些随机性,可能会导致不同生成中的不同结果。

以模型为中心的方法创建模型

Canvas提供了两种构建模型的选项:

  • 标准构建 – 从优化过程中构建最佳模型,其中速度被交换为更好的准确性。它使用自动机器学习(Auto-ML),自动化了机器学习的各种任务,包括模型选择,尝试与您的机器学习用例相关的各种算法,超参数调整以及创建模型可解释性报告。
  • 快速构建 – 在与标准构建相比的时间内构建一个简单模型,但准确性被换成了速度。快速模型在迭代过程中更快地了解数据变化对模型准确性的影响时很有用。

让我们继续使用标准构建方法。

标准构建

如前所述,标准构建通过优化过程构建最佳模型以最大化准确性。

你的模型好吗?深入了解Amazon SageMaker Canvas高级指标 四海 第13张

我们的流失模型的构建过程大约需要45分钟。在此期间,Canvas测试数百个候选流水线,选择最佳模型。在下图中,我们可以看到预期的构建时间和进度。

通过标准构建过程,我们的机器学习模型将模型准确性提高到96.903%,这是一个显著的改进。

你的模型好吗?深入了解Amazon SageMaker Canvas高级指标 四海 第14张

探索高级指标

让我们使用高级指标选项卡来探索模型。在评分选项卡上,选择高级指标

你的模型好吗?深入了解Amazon SageMaker Canvas高级指标 四海 第15张

此页面将显示以下混淆矩阵以及高级指标:F1得分、准确率、精确度、召回率、F1得分和AUC。

你的模型好吗?深入了解Amazon SageMaker Canvas高级指标 四海 第16张

生成预测

现在指标看起来不错,我们可以在预测选项卡上执行交互式预测,可以进行批量预测或单个(实时)预测。

我们有两个选项:

  • 使用此模型运行批量或单个预测
  • 将模型发送到Amazon Sagemaker Studio与数据科学家共享

清理

为了避免未来产生会话费用,请退出SageMaker Canvas。

你的模型好吗?深入了解Amazon SageMaker Canvas高级指标 四海 第17张

结论

SageMaker Canvas提供了强大的工具,使您能够构建和评估模型的准确性,提高性能,无需编码或专业数据科学和机器学习知识。正如我们在通过创建客户流失模型的示例中所看到的,通过将这些工具与数据为中心和模型为中心的方法相结合,使用高级指标,业务分析师可以创建和评估预测模型。通过可视化界面,您还可以生成准确的机器学习预测。我们鼓励您查阅参考资料,了解这些概念在其他类型的机器学习问题中可能适用的程度。

参考资料

  • 使用Amazon SageMaker Canvas进行无代码机器学习预测客户流失
  • 构建、共享、部署:业务分析师和数据科学家使用无代码ML和Amazon SageMaker Canvas实现更快上市时间
  • 自定义和重用由Amazon SageMaker Autopilot生成的模型
  • Amazon SageMaker Canvas沉浸式体验日研讨会
  • 使用AWS Step Functions和AutoGluon在Amazon SageMaker上管理自动ML工作流程
Leave a Reply

Your email address will not be published. Required fields are marked *