分析和可视化 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

分析和可视化

Amazon SageMaker 数据工作者包括内置分析,可帮助您轻松点击几下即可生成可视化效果和数据分析。您还可以使用自己的代码创建自定义分析。

通过在数据流中选择一个步骤,然后选择添加分析. 要访问已创建的分析,请选择包含分析的步骤,然后选择分析。

所有分析都使用数据集的 100,000 行生成。

可以将以下分析添加到数据框中:

  • 数据可视化,包括直方图和散点图。

  • 数据集的快速摘要,包括条目数、最小值和最大值(对于数字数据)以及最常见类别和最不频繁类别(对于类别数据)。

  • 数据集的快速模型,可用于为每个要素生成重要性分数。

  • 目标泄漏报告,可用于确定一个或多个要素是否与目标特征密切相关。

  • 使用您自己的代码的自定义可视化。

有关这些选项的更多信息,请参阅以下部分。

Histogram

使用直方图查看特定要素的要素值计数。您可以通过使用颜色方式选项。例如,以下直方图显示了 2009-2019 年期间亚马逊最畅销书籍的用户评级分布,按类型着色。

您可以使用分面由功能为另一列中的每个值创建一列的直方图。例如,下图显示了亚马逊上最畅销书籍的用户评论的直方图(如果按年分列)。

散点图

使用散点图功能检查要素之间的关系。要创建散点图,请选择要在X axisY axis. 这两个列都必须是数字类型的列。

您可以通过附加列为散点图着色。例如,以下示例显示了一个散点图,比较了 2009 年至 2019 年期间的评论数量与亚马逊最畅销图书的用户评级。散点图由书籍类型着色。

此外,您可以按要素对散点图进行小平面。例如,以下显示了相同审阅与用户评级散点图的示例,按年分面显示。

表格摘要

使用表格摘要分析来快速汇总数据。

对于包含数值数据(包括对数和浮点数据)的列,表摘要报告每列的条目数(计数)、最小值(最小值)、最大值(最大值)、均值和标准差(stddev)。

对于具有非数值数据的列(包括具有字符串、布尔或日期/时间数据的列),表摘要报告条目数(计数)、最小频率值(最小值)和最常用值(最大值)。

快速模型

使用快速模型可视化来快速评估数据并为每个要素生成重要性分数。A功能重要性分数分数表示要素在预测目标标注方面的有用性。要素重要性分数介于 [0, 1] 之间,数值越高表示要素对整个数据集更重要。在快速模型图表的顶部,有一个模型分数。分类问题显示 F1 分数。回归问题具有均方误差 (MSE) 得分。

创建快速模型图表时,可以选择要评估的数据集以及要比较要素重要性的目标标注。数据 Wrangler 将执行以下操作:

  • 推断目标标注和所选数据集中每个要素的数据类型。

  • 确定问题类型。根据标签列中不同值的数量,Data Wrangler 确定这是回归还是分类问题类型。数据牧师将类别阈值设置为 100。如果标签列中的不同值超过 100 个,则 Data Wrangler 会将其归类为回归问题;否则,将其归类为分类问题。

  • 用于培训的预处理功能和标签数据。使用的算法要求将要素编码为矢量类型,并将标注编码为双精度类型。

  • 使用 70% 的数据训练随机森林算法。Spark随机林回归用于训练回归问题的模型。这些区域有:随机林分类器用于训练分类问题的模型。

  • 使用剩余的 30% 数据评估随机森林模型。Data Wrangler 使用 F1 得分评估分类模型,并使用 MSE 得分评估回归模型。

  • 使用 Gini 重要性方法计算每个特征的特征重要性。

以下是快速模型功能的用户界面。

目标泄漏

当机器学习训练数据集中存在与目标标签密切相关但在实际数据中不可用的数据时,就会发生目标泄漏。例如,您的数据集中可能有一列,用作希望使用模型预测的列的代理。

当您使用目标泄漏分析中,您可以指定以下内容:

  • 目标:这是您希望 ML 模型能够对其进行预测的要素。

  • 问题类型:这是您正在处理的 ML 问题类型。问题类型可以是分类或者回归.

  • (可选)最大功能:这是可视化中显示的最大要素数,它显示了按目标泄漏风险对要素进行排序的要素。

对于分类,目标泄漏分析使用接收器工作特性下的区域,或者每列 AUC-ROC 曲线下的区域,最多可达最大功能. 对于回归,它使用确定系数或 R2 度量。

AUC-ROC 曲线提供了一个预测指标,使用交叉验证为每个列单独计算,对最多约 1000 行的样本。分数为 1 表示完美的预测能力,这通常表示目标泄漏。分数为 0.5 或更低表示列上的信息本身无法提供预测目标的任何有用信息。尽管可能发生列本身不具有信息性,但与其他功能一起使用时对预测目标非常有用,但分数低可能表示该功能是多余的。

例如,下图显示了糖尿病分类问题的目标泄漏报告,即预测某人是否患有糖尿病。AUC-ROC 曲线用于计算五个特征的预测能力,并确定所有特征都可以避免目标泄漏。

偏置报告

您可以使用 Data Wrangler 中的偏差报告来发现数据中的潜在偏差。要生成偏差报告,必须指定目标列,或标签,您要预测的和分面或要检查偏差的列。

标签— 希望模型对其进行预测的要素。例如,如果您正在预测客户转化,则可以选择包含有关客户是否已下订单的数据的列。您还必须指定此功能是标注还是阈值。如果您指定标签,则必须指定积极结果看起来像在你的数据中。在买家转化示例中,积极的结果可能是订单列中的 1,表示买家在过去三个月内下订单的积极结果。如果指定阈值,则必须指定定义正结果的下限。例如,如果您的客户订单列包含去年所下订单的数量,您可能需要指定 1。

分面— 要检查偏差的列。例如,如果您试图预测客户转化,那么您的方面可能是客户的年龄。您可以选择此方面,因为您认为您的数据偏向某个年龄组。必须确定小平面是以值还是阈值来测量。例如,如果要检查一个或多个特定年龄,则选择并具体说明这些年龄。如果要查看一个年龄组,则选择Threshold并指定要检查的年龄阈值。

选择要素和标注后,选择要计算的偏差量度的类型。

要了解更多信息,请参阅为训练前数据中的偏差生成报告.

创建自定义可视化

使用代码选项卡创建自定义可视化效果。您的数据集在进行最近添加的转换之后,将作为熊猫 DataFrame在此代码块中通过df变量。

您必须提供输出变量chart,以存储阿尔泰尔输出图。例如,下面是一个代码块的示例,该代码块可用于使用泰坦尼克数据集生成自定义直方图。

import altair as alt df = df.iloc[:30] df = df.rename(columns={"Age": "value"}) df = df.assign(count=df.groupby('value').value.transform('count')) df = df[["value", "count"]] base = alt.Chart(df) bar = base.mark_bar().encode(x=alt.X('value', bin=True, axis=None), y=alt.Y('count')) rule = base.mark_rule(color='red').encode( x='mean(value):Q', size=alt.value(5)) chart = bar + rule

要创建自定义可视化:

  1. 可视化区域中,选择代码选项卡。

  2. 为您的可视化提供名称.

  3. 在代码框中输入您的代码。

  4. 选择预览以预览您的可视化效果。

  5. 选择添加可视化以添加可视化效果。