

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)
<a name="randomcutforest"></a>

Amazon SageMaker AI 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 jeu 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 AI RCF évolue bien en termes de nombre de fonctionnalités, de taille de l'ensemble de données et de nombre d'instances.

**Topics**
+ [Interface d'entrée/sortie de l'algorithme RCF](#rcf-input_output)
+ [Recommandations relatives aux instances pour l'algorithme RCF](#rcf-instance-recommend)
+ [Exemples de blocs-notes RCF](#rcf-sample-notebooks)
+ [Fonctionnement de l'algorithme RCF](rcf_how-it-works.md)
+ [Hyperparamètres RCF](rcf_hyperparameters.md)
+ [Régler un modèle RCF](random-cut-forest-tuning.md)
+ [Formats de la réponse RCF](rcf-in-formats.md)

## Interface d'entrée/sortie de l'algorithme RCF
<a name="rcf-input_output"></a>

Amazon SageMaker AI 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, lors de l'utilisation du text/csv format, le contenu doit être spécifié sous forme de text/csv ; label\$1size=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](https://sagemaker.readthedocs.io/en/stable/v2.html).

**Note**  
La `sagemaker.inputs.s3_input` méthode a été renommée `sagemaker.inputs.TrainingInput` dans le [SDK SageMaker Python v2](https://sagemaker.readthedocs.io/en/stable/v2.html#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})
```

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](https://docs.aws.amazon.com/AmazonECR/latest/userguide/set-repository-policy.html) pour en savoir plus sur la définition d'une instruction de politique de référentiel.

Consultez [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_S3DataSource.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_S3DataSource.html) pour plus d’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 [Paramètres des algorithmes intégrés](common-info-all-im-models.md) 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](https://docs.aws.amazon.com/sagemaker/latest/dg/cdf-inference.html) 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](rcf-in-formats.md) pour l'inférence, ainsi que la rubrique [Exemples de blocs-notes RCF](#rcf-sample-notebooks).

## Recommandations relatives aux instances pour l'algorithme RCF
<a name="rcf-instance-recommend"></a>

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
<a name="rcf-sample-notebooks"></a>

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 AI Random Cut Forests](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/random_cut_forest/random_cut_forest.html). Pour savoir comment créer et accéder à des instances de bloc-notes Jupyter que vous pouvez utiliser pour exécuter l'exemple dans SageMaker AI, consultez. [Instances de SageMaker blocs-notes Amazon](nbi.md) Une fois que vous avez créé une instance de bloc-notes et que vous l'avez ouverte, sélectionnez l'onglet **Exemples d'SageMaker IA** pour voir la liste de tous les exemples d' SageMaker IA. 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 AI Random Cut Forest pour la détection des anomalies](https://aws.amazon.com/blogs/machine-learning/use-the-built-in-amazon-sagemaker-random-cut-forest-algorithm-for-anomaly-detection/).