

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

# 优化 k-NN 模型
<a name="kNN-tuning"></a>

Amazon SageMaker AI k 最近邻算法是一种监督算法。该算法使用测试数据集，并发出关于分类任务的准确度或关于回归任务的均方误差的指标。这些准确度指标将其各自任务的模型预测与经验测试数据提供的真实值进行比较。要查找报告测试数据集中最高准确度或最低错误的最佳模型，请为 k-NN 运行超参数优化作业。

*自动模型优化*（也称作超参数优化）通过运行很多在数据集上测试一系列超参数的作业来查找模型的最佳版本。您可以选择可优化超参数、每个超参数的值范围和一个目标指标。您可以选择一个适合算法的预测任务的目标指标。自动模型优化将搜索所选超参数以找到导致优化目标指标的模型的值组合。超参数仅用于帮助估计模型参数，训练模型不使用超参数来进行预测。

有关模型优化的更多信息，请参阅[使用 SageMaker AI 自动调整模型](automatic-model-tuning.md)。

## k-NN 算法计算的指标
<a name="km-metrics"></a>

k 最近邻算法在训练期间计算下表中的两个指标之一，具体取决于 `predictor_type` 超参数指定的任务类型。
+ *classifier* 指定分类任务并计算 `test:accuracy` 
+ *regressor* 指定回归任务并计算 `test:mse`。

选择适合在优化模型时用来计算相关目标指标的任务类型的 `predictor_type` 值。


| 指标名称 | 说明 | 优化方向 | 
| --- | --- | --- | 
| test:accuracy |  当 `predictor_type` 设置为 *classifier* 时，k-NN 会将基于 k 最近邻点标签的平均值的预测标签，与测试通道数据中提供的真实值标签进行比较。报告的准确度范围为从 0.0 (0%) 到 1.0 (100%)。  |  最大化  | 
| test:mse |  当 `predictor_type` 设置为 *regressor* 时，k-NN 会将基于 k 最近邻点标签的平均值的预测标签，与测试通道数据中提供的真实值标签进行比较。通过比较两个标签来计算均方误差。  |  最小化  | 



## 可优化的 k-NN 超参数
<a name="km-tunable-hyperparameters"></a>

使用以下超参数调整 SageMaker Amazon AI k 最近邻模型。


| 参数名称 | 参数类型 | 建议的范围 | 
| --- | --- | --- | 
| k |  IntegerParameterRanges  |  MinValue: 1, MaxValue: 1024  | 
| sample\$1size |  IntegerParameterRanges  |  MinValue: 256， MaxValue: 20000000  | 