

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

# 高级模型构建配置
<a name="canvas-advanced-settings"></a>

Amazon SageMaker Canvas 支持各种高级设置，您可以在构建模型时配置这些设置。下一页列出了所有高级设置及其选项和配置的其他信息。

**注意**  
以下高级设置目前仅支持数字、分类和时间序列预测模型类型。

## 高级数字和分类预测模型设置
<a name="canvas-advanced-settings-predictive"></a>

Canvas 支持以下数字和分类预测模型类型的高级设置。

### 目标指标
<a name="canvas-advanced-settings-predictive-obj-metric"></a>

目标指标是您希望 Canvas 在构建模型时进行优化的指标。如果您没有选择指标，Canvas 会默认为您选择一个指标。有关这些指标的说明，请参阅 [指标参考](canvas-metrics.md)。

### 训练模型
<a name="canvas-advanced-settings-predictive-method"></a>

Canvas 可以根据数据集大小自动选择训练方法，您也可以手动选择。您可以选择以下训练方法：
+ **组合** — SageMaker AI 利用该 AutoGluon 库来训练多个基础模型。为了找到最适合您的数据集的组合，组合模式使用不同的模型和元参数设置运行 5-10 次试验。然后，使用堆叠组合方法，将这些模型组合在一起，创建最优预测模型。有关表格数据组合模式支持的算法列表，请参阅以下 [算法](#canvas-advanced-settings-predictive-algos) 部分。
+ **超参数优化 (HPO)** — SageMaker AI 在数据集上运行训练作业时使用贝叶斯优化或多保真度优化来调整超参数，从而找到模型的最佳版本。HPO 模式选择与您的数据集最相关的算法，并选择最佳的超参数范围来调整您的模型。为了调整模型，HPO 模式最多可运行 100 次试验（默认），以找到选定范围内的最佳超参数设置。如果您的数据集大小小于 100 MB， SageMaker AI 将使用贝叶斯优化。 SageMaker 如果您的数据集大于 100 MB，AI 会选择多保真度优化。

  有关表格数据 HPO 模式支持的算法列表，请参阅以下 [算法](#canvas-advanced-settings-predictive-algos) 部分。
+ **自动** — SageMaker AI 会根据您的数据集大小自动选择集合模式或 HPO 模式。如果您的数据集大于 100 MB， SageMaker AI 会选择 HPO 模式。否则，它会选择组合模式。

### 算法
<a name="canvas-advanced-settings-predictive-algos"></a>

在**组合**模式下，Canvas 支持以下机器学习算法：
+ [LightGBM](https://docs.aws.amazon.com/sagemaker/latest/dg/lightgbm.html) – 一种经过优化的框架，使用基于树的算法和梯度提升。此算法使用在广度而不是深度上增长的树，并且针对速度进行了高度优化。
+ [CatBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/catboost.html)— 一种使用基于树的算法和梯度提升的框架。针对处理分类变量进行了优化。
+ [XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html)— 一种使用基于树的算法的框架，其梯度提升是深度而不是广度增加的。
+ [随机森林](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html) – 一种基于树的算法，在数据的随机子样本上使用多个决策树并进行替换。树在每个级别上拆分到最佳节点。对每个树的决策一起求平均值，以防止过度拟合并改善预测。
+ [额外的树](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.ExtraTreesClassifier.html#sklearn.ensemble.ExtraTreesClassifier) – 基于树的算法，在整个数据集上使用多个决策树。树在每个级别上随机拆分。对每个树的决策进行求平均值，以防止过度拟合并改善预测。与随机森林算法相比，额外的树会增加一定程度的随机化。
+ [线性模型](https://scikit-learn.org/stable/modules/classes.html#module-sklearn.linear_model) – 一种使用线性方程对所观测数据中两个变量之间的关系进行建模的框架。
+ 神经网络 torch – 使用 [Pytorch](https://pytorch.org/) 实施的神经网络模型。
+ 神经网络 fast.ai – 使用 [fast.ai](https://www.fast.ai/) 实施的神经网络模型。

在 **HPO 模式**下，Canvas 支持以下机器学习算法：
+ [XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html)— 一种监督学习算法，它试图通过组合来自一组更简单和更弱的模型的估计值来准确预测目标变量。
+ 深度学习算法 – 多层感知器 (MLP) 和前馈人工神经网络。此算法可以处理线性不可分的数据。

### 数据拆分
<a name="canvas-advanced-settings-predictive-split"></a>

您可以选择指定如何在训练集（数据集中用于构建模型的部分）和验证集（数据集中用于验证模型准确性的部分）之间拆分数据集。例如，常见的拆分比例是 80% 的训练数据和 20% 的验证数据，其中 80% 的数据用于构建模型，而 20% 的数据用于衡量模型性能。如果您未指定自定义比例，Canvas 会自动拆分数据集。

### 最大候选模型数量
<a name="canvas-advanced-settings-predictive-candidates"></a>

**注意**  
此功能仅在 HPO 训练模式下可用。

您可以指定 Canvas 在构建模型时生成的最大候选模型数量。我们建议您使用默认的候选模型数量（100）来构建最准确的模型。您最多可指定 250 个。减少候选模型的数量可能会影响模型的准确性。

### 最长作业运行时
<a name="canvas-advanced-settings-predictive-runtime"></a>

您可以指定最大作业运行时，或者 Canvas 用于构建模型的最长时间。时间限制过后，Canvas 会停止构建，并选择最佳候选模型。

您可指定的最长时间为 720 小时。我们强烈建议您将最大作业运行时保持在 30 分钟以上，以确保 Canvas 有足够的时间生成候选模型并完成模型构建。

## 高级时间序列预测模型设置
<a name="canvas-advanced-settings-time-series"></a>

对于时间序列预测模型，Canvas 支持上一节列出的目标指标。

时间序列预测模型还支持以下高级设置：

### 算法选择
<a name="canvas-advanced-settings-time-series-algos"></a>

当您构建时间序列预测模型时，Canvas 会使用统计和机器学习算法的*集合*（或组合）来提供高度准确的时间序列预测。默认情况下，Canvas 会根据数据集中的时间序列选择所有可用算法的最佳组合。但是，您可以选择指定一种或多种算法用于预测模型。在这种情况下，Canvas 将仅使用您选择的算法来确定最佳混合效果。如果您不确定选择哪种算法来训练模型，我们建议您选择所有可用的算法。

**注意**  
算法选择仅支持标准构建。如果您未在高级设置中选择任何算法，则默认情况下， SageMaker AI 会运行快速构建，并使用基于树的学习算法训练候选模型。有关快速构建和标准构建之间的差别的更多信息，请参阅 [自定义模型的工作原理](canvas-build-model.md)。

Canvas 支持以下时间序列预测算法：
+ [自回归整合移动平均线 (ARIMA)](https://en.wikipedia.org/wiki/Autoregressive_integrated_moving_average)：一种简单的随机时间序列模型，利用统计分析来解释数据并预测未来。这种算法适用于小于 100 个时间序列的简单数据集。
+ [卷积神经网络 - 分位数回归 (CNN-QR)](https://docs.aws.amazon.com/forecast/latest/dg/aws-forecast-algo-cnnqr.html)：一种专有的有监督学习算法，可从大量时间序列中训练一个全局模型，并使用分位数解码器进行预测。CNN-QR 最适合处理包含数百个时间序列的大型数据集。
+ [Deepar\$1](https://docs.aws.amazon.com/forecast/latest/dg/aws-forecast-recipe-deeparplus.html) — 一种专有的监督学习算法，用于预测标量时间序列，使用循环神经网络 (RNNs) 在所有时间序列中联合训练单个模型。DeepAR\$1 最适合处理包含数百个特征时间序列的大型数据集。
+ [非参数时间序列 (NPTS)](https://docs.aws.amazon.com/forecast/latest/dg/aws-forecast-recipe-npts.html)：一种可扩展的概率基线预测器，可通过从过去的观测数据中采样，预测给定时间序列的未来值分布。NPTS 在处理稀疏或间歇性时间序列时非常有用（例如，在时间序列有许多 0 或低计数的情况下，预测对单个项目的需求）。
+ [指数平滑法 (ETS)](https://en.wikipedia.org/wiki/Exponential_smoothing)：一种预测方法，预测结果是过去观测数据的加权平均值，其中较早观测数据的权重呈指数级下降。此算法适用于时间序列少于 100 个的简单数据集和具有季节性规律的数据集。
+ [Prophet](https://facebook.github.io/prophet/)：一种加法回归模型，最适用于具有强烈季节效应和多季历史数据的时间序列。此算法适用于具有接近极限的非线性增长趋势的数据集。

### 预测分位数
<a name="canvas-advanced-settings-time-series-quantiles"></a>

对于时间序列预测， SageMaker AI 使用您的目标时间序列训练 6 个候选模型。然后， SageMaker AI 使用堆叠集成方法组合这些模型，为给定的目标指标创建最佳预测模型。每个预测模型都通过生成分位数在 P1 和 P99 之间的预测来生成概率预测。这些分位数用于解释预测的不确定性。默认情况下，为 0.1 (`p10`)、0.5 (`p50`) 和 0.9 (`p90`) 生成预测。您可以选择从 0.01 (`p1`) 到 0.99 (`p99`)，以 0.01 或更高的增量指定最多 5 个分位数。