Algorithme RCF (Random Cut Forest) - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Algorithme RCF (Random Cut Forest)

Amazon SageMaker Random Cut Forest (RCF) est un algorithme non supervisé permettant de détecter des points de données anormaux au sein d'un ensemble de données. Il s'agit d'observations qui s'écartent de données autrement bien structurées ou calquées. Des anomalies peuvent se manifester sous la forme de pics inattendus au sein de données en séries chronologiques, de ruptures de la périodicité ou de points de données inclassables. Elles sont faciles à décrire, car lorsqu'elles sont affichées dans un tracé, elles sont souvent aisément décelables au milieu des données « normales ». L'inclusion de ces anomalies dans un ensemble de données peut considérablement augmenter la complexité de la tâche de machine learning, car les données « normales » peuvent souvent être décrites à l'aide d'un modèle simple.

L'algorithme RCF associe un score d'anomalie à chaque point de données. De faibles valeurs indiquent que le point de données est considéré comme « normal ». Des valeurs élevées indiquent la présence d'une anomalie dans les données. Les définitions de « faible » et « élevée » dépendent de l'application mais la pratique courante suggère que les valeurs au-delà de trois écarts-types de la moyenne sont considérées comme anormales.

Même s'il y a plusieurs applications d'algorithmes de détection d'anomalies sur des données en séries chronologiques unidimensionnelles telles que l'analyse du volume de trafic ou la détection de pics de volume sonore, l'algorithme RCF est conçu pour fonctionner avec des entrées de dimensions arbitraires. Amazon SageMaker RCF évolue bien en termes de nombre de fonctionnalités, de taille de l'ensemble de données et de nombre d'instances.

Interface d'entrée/sortie de l'algorithme RCF

Amazon SageMaker Random Cut Forest prend en charge les canaux test de données train et. Le canal de test facultatif est utilisé pour le calcul des métriques de rectitude, de précision, de rappel et de score F1 sur les données étiquetées. Entraîner et tester les types de contenu de données peut relever des formats application/x-recordio-protobuf ou text/csv. Pour les données de test, lorsque vous utilisez le format text/csv, le contenu doit être spécifié comme text/csv;label_size=1 où la première colonne de chaque ligne représente l'étiquette d'anomalie « 1 » pour un point de données anormal et « 0 » pour un point de données normal. Vous pouvez utiliser le mode File ou le mode Pipe pour entraîner les modèles RCF sur les données obéissant au format recordIO-wrapped-protobuf ou au format CSV.

Le canal d'entraînement prend uniquement en charge S3DataDistributionType=ShardedByS3Key, tandis que celui de test prend uniquement en charge S3DataDistributionType=FullyReplicated. L'exemple suivant indique le type de distribution S3 pour le canal ferroviaire à l'aide du SDK Amazon SageMaker Python.

Note

La sagemaker.inputs.s3_input méthode a été renommée sagemaker.inputs.TrainingInput dans le SDK SageMaker Python v2.

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})

Pour éviter les erreurs courantes relatives aux rôles d'exécution, assurez-vous que vous disposez des rôles d'exécution requis, AmazonSageMakerFullAccess et AmazonEC2ContainerRegistryFullAccess. Pour éviter les erreurs courantes relatives à l'absence de votre image ou au caractères incorrecte de ses autorisations, assurez-vous que votre image ECR n'est pas plus grande que l'espace disque alloué sur l'instance d'entraînement. Pour éviter cela, exécutez votre tâche d'entraînement sur une instance disposant d'un espace disque suffisant. En outre, si votre image ECR provient du référentiel Elastic Container Service (ECS) d'un autre AWS compte et que vous ne définissez pas les autorisations d'accès au référentiel, cela provoquera une erreur. Consultez la section relative aux autorisations de référentiel ECR pour en savoir plus sur la définition d'une instruction de politique de référentiel.

Veuillez consulter S3DataSource pour obtenir de plus amples informations sur la personnalisation des attributs de source de données S3. Enfin, pour tirer parti de l'entraînement de plusieurs instances, les données d'entraînement doivent être partitionnées en au moins autant de fichiers que d'instances.

Pour l'inférence, l'algorithme RCF prend en charge des types de contenus de données d'entrée application/x-recordio-protobuf et text/csv , application/json. Consultez la documentation Formats de données courants des algorithmes intégrés pour plus de détails. L'inférence RCF renvoie la sortie au format application/x-recordio-protobuf ou application/json. Chaque enregistrement dans ces données de sortie contient les valeurs d'anomalies correspondant à chaque point de données d'entrée. Consultez la section Formats de données courants – Inférence pour plus d'informations.

Pour plus d'informations sur les formats de fichier en entrée et en sortie, consultez Formats de la réponse RCF pour l'inférence, ainsi que la rubrique Exemples de blocs-notes RCF.

Recommandations relatives aux instances pour l'algorithme RCF

Pour les entraînements, nous vous recommandons les familles d'instances ml.m4, ml.c4 et ml.c5. Pour l'inférence, nous vous recommandons d'utiliser un type d'instance ml.c5.xl en particulier, pour obtenir des performances optimales ainsi que pour réduire le coût par heure d'utilisation. Même si l'algorithme peut techniquement s'exécuter sur les types d'instance GPU, il n'utilise pas le matériel lié au processeur graphique.

Exemples de blocs-notes RCF

Pour un exemple de la façon d'entraîner un modèle RCF et d'effectuer des inférences avec celui-ci, consultez le carnet An Introduction to SageMaker Random Cut Forests. Pour savoir comment créer et accéder à des instances de bloc-notes Jupyter dans lesquelles vous pouvez exécuter l'exemple SageMaker, consultez. Instances Amazon SageMaker Notebook Une fois que vous avez créé une instance de bloc-notes et que vous l'avez ouverte, sélectionnez l'onglet SageMaker Exemples pour afficher la liste de tous les SageMaker exemples. Pour ouvrir un bloc-notes, cliquez sur son onglet Use (Utiliser) et sélectionnez Create copy (Créer une copie).

Pour un article de blog sur l'utilisation de l'algorithme RCF, voir Utiliser l'algorithme intégré Amazon SageMaker Random Cut Forest pour la détection des anomalies.