

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Algoritmo Random Cut Forest (RCF)
<a name="randomcutforest"></a>

Amazon SageMaker AI Random Cut Forest (RCF) è un algoritmo non supervisionato per il rilevamento di punti dati anomali all'interno di un set di dati. Queste sono osservazioni che divergono da dati altrimenti ben strutturati o con motivi. Possono manifestarsi anomalie come picchi non previsti in dati delle serie temporali, interruzioni nelle periodicità o punti dati non classificabili. Sono facili da descrivere in quanto, se visualizzate in un tracciato, sono spesso facilmente distinguibili dai dati "normali". L'inclusione di queste anomalie in un set dati può aumentare drasticamente la complessità di un'attività di machine learning, poiché i dati "normali" spesso possono essere descritti con un modello semplice.

L'algoritmo RCF associa un punteggio di anomalia a ogni punto dati. Valori bassi indicano che il punto dati è considerato "normale". Valori elevati indicano la presenza di un'anomalia nei dati. Le definizioni di "basso" e di "elevato" dipendono dall'applicazione, ma è pratica comune ritenere che i punteggi oltre tre deviazioni standard dal punteggio medio siano considerati anomali.

Sebbene vi siano molte applicazioni di algoritmi di rilevamento di anomalie su dati di serie temporali monodimensionali, come l'analisi del volume di traffico o il rilevamento di picchi di volume audio, RCF è stato progettato per funzionare con input dimensionali arbitrari. Amazon SageMaker AI RCF offre una buona scalabilità rispetto al numero di funzionalità, alla dimensione del set di dati e al numero di istanze.

**Topics**
+ [Interfaccia di input/output per l'algoritmo RCF](#rcf-input_output)
+ [Raccomandazione istanza per l'algoritmo RCF](#rcf-instance-recommend)
+ [Notebook di esempio RCF](#rcf-sample-notebooks)
+ [Come funziona RCF](rcf_how-it-works.md)
+ [Iperparametri RCF](rcf_hyperparameters.md)
+ [Ottimizzazione di un modello RCF](random-cut-forest-tuning.md)
+ [Formati della risposta RCF](rcf-in-formats.md)

## Interfaccia di input/output per l'algoritmo RCF
<a name="rcf-input_output"></a>

Amazon SageMaker AI Random Cut Forest supporta i canali `train` e `test` dati. Il canale di test facoltativo viene utilizzato per calcolare i parametri di accuratezza, precisione, richiamata e punteggio F1 sui dati etichettati. L’addestramento e il test dei tipi di contenuto di dati possono rilevare i formati `application/x-recordio-protobuf` e `text/csv`. Per i dati di test, quando si utilizza il text/csv formato, il contenuto deve essere specificato come text/csv; label\$1size=1 dove la prima colonna di ogni riga rappresenta l'etichetta di anomalia: «1" per un punto dati anomalo e «0" per un punto dati normale. Puoi utilizzare la modalità file o la modalità pipe per addestrare i modelli RCF sui dati formattati come `recordIO-wrapped-protobuf` o `CSV`.

Il canale di addestramento supporta solo `S3DataDistributionType=ShardedByS3Key` e il canale di test supporta solo `S3DataDistributionType=FullyReplicated`. L'esempio seguente specifica il tipo di distribuzione S3 per il canale train utilizzando l'SDK Amazon [Python SageMaker ](https://sagemaker.readthedocs.io/en/stable/v2.html).

**Nota**  
Il `sagemaker.inputs.s3_input` metodo è stato rinominato `sagemaker.inputs.TrainingInput` in [SageMaker Python SDK 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})
```

Per evitare errori comuni relativi ai ruoli di esecuzione, assicurati di disporre dei ruoli di esecuzione richiesti, `AmazonSageMakerFullAccess` e `AmazonEC2ContainerRegistryFullAccess`. Per evitare errori comuni relativi all'inesistenza dell'immagine o alle relative autorizzazioni, assicurati che l'immagine ECR non sia più grande dello spazio su disco allocato sull'istanza di addestramento. Per evitare ciò, esegui il processo di addestramento su un'istanza con spazio su disco sufficiente. Inoltre, se l'immagine ECR proviene dal repository Elastic Container Service (ECS) di un AWS account diverso e non imposti le autorizzazioni del repository per concedere l'accesso, si verificherà un errore. Per ulteriori informazioni sull’impostazione di una dichiarazione di policy per il repository, consulta [Autorizzazioni per il repository ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/set-repository-policy.html).

Per ulteriori informazioni sulla personalizzazione degli attributi dell'origine dati S3, consulta [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_S3DataSource.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_S3DataSource.html). Infine, per trarre vantaggio dall’addestramento di più istanze, i dati di addestramento devono essere partizionati in almeno lo stesso numero di file delle istanze.

Per inferenza, l'algoritmo RCF supporta i tipi di contenuti di dati di input `application/x-recordio-protobuf`, `text/csv` e `application/json`. Per ulteriori informazioni, consulta la documentazione [Parametri per gli algoritmi integrati](common-info-all-im-models.md). L'inferenza RCF restituisce l'output formattato `application/x-recordio-protobuf` o `application/json`. Ogni record in questi dati di output contiene i punteggi di anomalia corrispondenti per ogni punto dati di input. Per ulteriori informazioni, consulta [Formati di dati comuni -- Inferenza](https://docs.aws.amazon.com/sagemaker/latest/dg/cdf-inference.html).

Per ulteriori informazioni sui formati di file di input e output, consulta [Formati della risposta RCF](rcf-in-formats.md) per l'inferenza e i [Notebook di esempio RCF](#rcf-sample-notebooks).

## Raccomandazione istanza per l'algoritmo RCF
<a name="rcf-instance-recommend"></a>

Per l’addestramento, consigliamo le famiglie di istanze `ml.m4`, `ml.c4` e `ml.c5`. Per l'inferenza, consigliamo l'uso di un tipo di istanza `ml.c5.xl` in particolare, per ottenere prestazioni ottimali nonché per ridurre al minimo il costo per ogni ora di utilizzo. Sebbene l'algoritmo potrebbe tecnicamente essere eseguito su tipi di istanze GPU, non trae vantaggio dall'hardware della GPU.

## Notebook di esempio RCF
<a name="rcf-sample-notebooks"></a>

Per un esempio di come addestrare un modello RCF ed eseguire inferenze con esso, consulta il taccuino An [Introduction to AI Random Cut Forests](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/random_cut_forest/random_cut_forest.html). SageMaker Per istruzioni su come creare e accedere alle istanze di notebook Jupyter che puoi utilizzare per eseguire l'esempio in AI, vedi. SageMaker [Istanze SageMaker per notebook Amazon](nbi.md) Dopo aver creato un'istanza di notebook e averla aperta, seleziona la scheda **Esempi di SageMaker AI** per visualizzare un elenco di tutti gli esempi di IA. SageMaker Per aprire un notebook, fai clic sulla relativa scheda **Use (Utilizza)** e seleziona **Create copy (Crea copia)**.

Per un post sul blog sull'uso dell'algoritmo RCF, consulta [Utilizzare l'algoritmo integrato Amazon SageMaker AI Random Cut Forest per il rilevamento delle anomalie](https://aws.amazon.com/blogs/machine-learning/use-the-built-in-amazon-sagemaker-random-cut-forest-algorithm-for-anomaly-detection/).