本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
随机砍伐森林 (RCF) 算法
Ama SageMaker zon Random Cut Forest (RCF) 是一种无监督算法,用于检测数据集中的异常数据点。这些数据点是与良好结构或模式化数据存在偏差的观察数据。异常可以表现为时间序列数据中意外峰值、周期性中断或无法分类的数据点。它们很容易描述,表现为在图中查看时,它们通常很容易与“常规”数据区分。数据集中包括这些异常会显著增加机器学习任务的复杂性,因为“常规”数据通常使用简单模型描述。
与每个数据点RCF关联一个异常分数。低分数值表明该数据点被视为“正常”。高分数值表明数据中存在异常。“低”和“高”的定义取决于应用,但常见做法建议将落在平均分数的三个标准偏差之外的分数视为异常。
虽然异常检测算法有许多应用于一维时间序列数据,例如流量分析或音量尖峰检测,但其设计RCF目的是处理任意维度的输入。Amazon 在功能数量、数据集大小和实例数量方面可以很好地 SageMaker RCF扩展。
算法的输入/输出接口 RCF
Amaz SageMaker on Random Cut Forest 支持train
和test
数据通道。可选测试通道用于计算所标记数据的准确度、精度、召回率和 F1 分数指标。训练和测试数据内容类型可为 application/x-recordio-protobuf
或 text/csv
格式。对于测试数据,在使用文本/csv 格式时,内容必须指定为 text/csv;label_size=1,其中每行的第一列表示异常标签:1 表示异常数据点,0 表示普通数据点。您可以使用文件模式或管道模式根据格式为recordIO-wrapped-protobuf
或格式为的数据训练RCF模型 CSV
训练通道仅支持 S3DataDistributionType=ShardedByS3Key
,测试通道仅支持 S3DataDistributionType=FullyReplicated
。以下示例使用 Amazon SageMaker Python
注意
在 SageMaker Python SDK v2 sagemaker.inputs.TrainingInput
sagemaker.inputs.s3_input
方法已重命名为。
import sagemaker # specify Random Cut Forest training job information and hyperparameters rcf = sagemaker.estimator.Estimator(...) # explicitly specify "ShardedByS3Key" distribution type train_data = sagemaker.inputs.TrainingInput( s3_data=s3_training_data_location, content_type='text/csv;label_size=0', distribution='ShardedByS3Key') # run the training job on input data stored in S3 rcf.fit({'train': train_data})
为避免执行角色方面的常见错误,请确保您拥有所需的执行角色 AmazonSageMakerFullAccess
和 AmazonEC2ContainerRegistryFullAccess
。为避免因图像不存在或其权限不正确而导致的常见错误,请确保您的ECR图像不大于训练实例上分配的磁盘空间。为避免这种情况,请在具有足够磁盘空间的实例上运行训练作业。此外,如果您的ECR映像来自其他 Amazon 账户的 Elastic Container Service (ECS) 存储库,并且您未设置存储库权限来授予访问权限,则会导致错误。有关设置ECR仓库政策声明的更多信息,请参阅仓库权限。
请参阅 S3DataSource
,了解有关自定义 S3 数据源属性的更多信息。最后,为了利用多实例训练,训练数据必须至少分区为与实例相同数量的文件。
用于推理application/x-recordio-protobuf
、RCF支持text/csv
和application/json
输入数据内容类型。有关更多信息,请参阅内置算法的参数文档。RCF推理返回application/x-recordio-protobuf
或application/json
格式化输出。这些输出数据中的每个记录包含各个输入数据点对应的异常分数。有关更多信息,请参阅常见数据格式 -- 推理。
有关输入和输出文件格式的更多信息,请参阅RCF响应格式(对于推理)和RCF 示例笔记本。
RCF算法的实例推荐
对于训练,我们建议使用 ml.m4
、ml.c4
和 ml.c5
实例系列。对于推理,我们特别建议使用 ml.c5.xl
实例类型,用于实现最佳性能以及最低的每小时使用成本。尽管从技术上讲,该算法可以在GPU实例类型上运行,但它并不能利用GPU硬件。
RCF 示例笔记本
有关如何训练RCF模型并使用模型进行推断的示例,请参阅《 SageMaker 随机砍伐森林简介
有关使用该RCF算法的博客文章,请参阅使用内置的 Amazon R SageMaker andom Cut Forest 算法进行异常检测