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)
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.
Argomenti
Interfaccia di input/output per l'algoritmo RCF
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 utilizzatext/csv format, the content must be specified as
text/csv; label_size=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
Nota
Il sagemaker.inputs.s3_input
metodo è stato rinominato sagemaker.inputs.TrainingInput
in SageMaker Python SDK 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})
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.
Per ulteriori informazioni sulla personalizzazione degli attributi dell'origine dati S3, consulta S3DataSource
. 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 algoritmi integrati. 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.
Per ulteriori informazioni sui formati di file di input e output, consulta Formati della risposta RCF per l'inferenza e i Notebook di esempio RCF.
Raccomandazione istanza per l'algoritmo RCF
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
Per un esempio di come addestrare un modello RCF ed eseguire inferenze con esso, consulta il taccuino An Introduction to AI Random Cut Forests
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