

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

# 主成分分析 (PCA) 算法
<a name="pca"></a>

PCA 是一种自主型机器学习算法，它试图在数据集内减少维数 (特征个数)，同时仍保留尽可能多的信息。这是通过查找称为*成分*的新特征集完成的，这些功能是原始特征的复合体，它们彼此不相关。它们还受到约束，因此第一个成分在数据中可能存在最大的可变性，第二个成分是第二个最易变的，以此类推。

在 Amazon SageMaker AI 中，PCA 以两种模式运行，具体取决于场景：
+ **常规**：针对具有稀疏数据以及适度数量的观察和特征的数据集。
+ **随机**：针对具有大量观察和特征的数据集。此模式使用近似算法。

PCA 使用表格数据。

这些行表示您想要嵌入到较低维度空间中的观察。这些列表示您想要为其查找的缩小近似的特征。该算法计算协方差矩阵 (或在分布方式下的近似)，然后对此摘要执行单值分解以产生主成分。

**Topics**
+ [PCA 算法的输入/输出接口](#pca-inputoutput)
+ [PCA 算法的 EC2 实例建议](#pca-instances)
+ [PCA 示例笔记本](#PCA-sample-notebooks)
+ [PCA 工作原理](how-pca-works.md)
+ [PCA 超参数](PCA-reference.md)
+ [PCA 响应格式](PCA-in-formats.md)

## PCA 算法的输入/输出接口
<a name="pca-inputoutput"></a>

在训练时，PCA 期望在训练通道上提供数据，并（可选）支持一个传递到测试数据集的数据集，该数据集由最终算法进行评分。`recordIO-wrapped-protobuf` 和 `CSV` 格式均支持用于训练。您可以使用文件模式或管道模式，针对格式为 `recordIO-wrapped-protobuf` 或 `CSV` 的数据训练模型。

对于推理，PCA 支持 `text/csv`、`application/json` 和 `application/x-recordio-protobuf`。结果以 `application/json` 或 `application/x-recordio-protobuf` 格式返回，且具有向量“投影”。

有关输入和输出文件格式的更多信息，请参阅[PCA 响应格式](PCA-in-formats.md)（对于推理）和[PCA 示例笔记本](#PCA-sample-notebooks)。

## PCA 算法的 EC2 实例建议
<a name="pca-instances"></a>

PCA 支持使用 CPU 和 GPU 实例进行训练和推理。哪个实例类型具有最高性能取决于输入数据的具体程度。对于 GPU 实例，PCA 支持 P2、P3、G4dn 和 G5。

## PCA 示例笔记本
<a name="PCA-sample-notebooks"></a>

有关演示如何使用 SageMaker AI 主成分分析算法分析 MNIST 数据集中从零到九的手写数字图像的示例笔记本，请参阅 MNIST [PCA 简介](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/pca_mnist/pca_mnist.html)。有关如何创建和访问可用于在 SageMaker AI 中运行示例的 Jupyter 笔记本实例的说明，请参阅。[Amazon SageMaker 笔记本实例](nbi.md)创建并打开笔记本实例后，选择 “**SageMaker AI 示例**” 选项卡以查看所有 SageMaker AI 示例的列表。使用 NTM 算法的主题建模示例笔记本位于 **Amazon 算法简介**部分中。要打开笔记本，请单击**使用** 选项卡，然后选择**创建副本**。