Random Cut Forest (RCF)-Algorithmus - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Random Cut Forest (RCF)-Algorithmus

Amazon SageMaker Bei Random Cut Forest (RCF) handelt es sich um einen unüberwachten Algorithmus zur Erkennung von anormalen Datenpunkten in einem Dataset. Das sind Beobachtungen, die von ansonsten gut strukturierten oder nach Mustern geordneten Daten abweichen. Solche Auffälligkeiten können sich als unerwartete Spitzen in Zeitreihendaten, unterbrochener Periodizität oder unklassifizierbaren Datenpunkten manifestieren. Sie sind einfach zu beschreiben, denn wenn sie in einem Diagramm dargestellt werden, sind sie meist leicht von "regulären" Daten unterscheidbar. Sind diese Anomalien in einem Dataset enthalten, kann dies zu einer erheblichen Komplexitätssteigerung einer Machine Learning-Aufgabe führen, da sich "reguläre" Daten häufig in einem einfachen Modell darstellen lassen.

Jedem Datenpunkt wird von RCF eine Anomaliebewertung zugewiesen. Niedrige Werte besagen, dass der Datenpunkt als "normal" gilt. Hohe Werte deuten auf eine Anomalie in den Daten hin. Die Definitionen von "niedrig" und "hoch" hängen von der Anwendung ab, aber meist werden Bewertungen, die mehr als drei Standardabweichungen vom Mittelwert aufweisen, als Anomalie betrachtet.

Es gibt zahlreiche Anwendungen, die Algorithmen zur Anomalieerkennung in eindimensionalen Zeitreihendaten (wie z. B. Analysen des Datenverkehrsvolumes oder Sound-Volume-Spitzenerkennung) verwenden – RCF ist jedoch für Eingaben aus beliebigen Dimensionen konzipiert. Amazon SageMaker RCF skaliert unter Berücksichtigung von Funktionsanzahl, Datasetgröße und Instance-Anzahl.

E/A-Schnittstelle für den RCF-Algorithmus

Amazon SageMaker Random Cut Forest unterstützt dastrainundtest-Datenkanäle. Der optionale Testkanal ("test") wird zur Berechnung von Genauigkeit, Präzision, Rückruf und F1-Bewertungsmetriken bei entsprechend gekennzeichneten Daten verwendet. Die Inhaltstypen der Schulungs- ("train") und Testdaten können entweder das Format application/x-recordio-protobuf oder text/csv aufweisen. Soll das Format "text/csv" für Testdaten eingesetzt werden, muss der Inhalt als "text/csv;label_size=1" angegeben werden, wobei die erste Spalte jeder Zeile den Anomaliewert "1" für einen anormalen Datenpunkt oder "0" für einen normalen Datenpunkt spezifiziert. Sie können entweder den Datei- oder den Pipe-Modus verwenden, um RCF-Modelle mit Daten, die als recordIO-wrapped-protobuf oder CSV formatiert sind, zu schulen.

Der Zugkanal unterstützt nurS3DataDistributionType=ShardedByS3Keyund der Testkanal unterstützt nurS3DataDistributionType=FullyReplicatedaus. Im folgenden Beispiel wird der S3-Verteilungstyp für den Zugkanal unter Verwendung derAmazon SageMaker Python SDKaus.

Anmerkung

Diesagemaker.inputs.s3_inputMethode wurde umbenannt insagemaker.inputs.TrainingInputinSageMaker Python SDK v2aus.

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

Um häufige Fehler bei Ausführungsrollen zu vermeiden, stellen Sie sicher, dass Sie über die erforderlichen Ausführungsrollen verfügen.AmazonSageMakerFullAccessundAmazonEC2ContainerRegistryFullAccessaus. Stellen Sie sicher, dass Ihr ECR-Image nicht größer ist als der zugewiesene Speicherplatz auf der Trainingsinstanz, um zu vermeiden, dass Ihr ECR-Image nicht größer ist als der zugewiesene Festplattenspeicher auf der Trainingsinstanz. Um dies zu vermeiden, führen Sie Ihren Trainingsauftrag für eine Instance aus, die über ausreichend Speicherplatz verfügt. Darüber hinaus, wenn Ihr ECR-Bild von einem anderen stammtAWSDas Elastic Container Service (ECS) -Repository des Kontos, und Sie legen keine Repository-Berechtigungen fest, um Zugriff zu gewähren, dies führt zu einem Fehler. Sehen Sie dasECR-Repository-Berechtigungenfür weitere Informationen zum Festlegen einer Repository-Richtlinienanweisung.

Sehen Sie dasS3DataSourceWeitere Informationen zur Anpassung von S3-Datenquellenattributen finden Sie unter. Um die Vorteile von Multi-Instance-Schulungen optimal nutzen zu können, müssen die Schulungsdaten in mindestens so viele Dateien partitioniert werden, wie Instances vorhanden sind.

Für die Inferenz unterstützt RCF die Eingabedaten-Inhaltstypen application/x-recordio-protobuf, text/csv und application/json. Weitere Informationen finden Sie in der Dokumentation Gängige Datenformate für integrierte Algorithmen. Die RCF-Inferenz gibt Ausgaben im Format application/x-recordio-protobuf oder application/json zurück. Jeder Datensatz in diesen Ausgabedaten enthält die entsprechenden Anomaliebewertungen für die einzelnen Eingabedatenpunkte. Weitere Informationen finden Sie unter Gängige Datenformate – Inferenz.

Weitere Informationen über die Eingabe- und Ausgabedateiformate finden Sie unter RCF-Antwortformate für Inferenz und unter RCF-Beispiel-Notebooks.

Instance-Empfehlungen für den RCF-Algorithmus

Zur Schulung empfehlen wir die Instance-Familien ml.m4, ml.c4 und ml.c5. Für die Inferenz empfehlen wir die Verwendung eines ml.c5.xl-Instance-Typs, insbesondere für maximale Leistung und minimierte Kosten pro Nutzungsstunde. Technisch betrachtet ist der Algorithmus auch auf GPU-Instance-Typen ausführbar, jedoch kann die GPU-Hardware nicht entsprechend genutzt werden.

RCF-Beispiel-Notebooks

Ein Beispiel zum Schulen eines RCF-Modells und Vornehmen folgender Inferenzen finden Sie in derEine Einführung in SageMaker Random Cut Forest-Notebook Anweisungen zum Erstellen von und Zugreifen auf Jupyter-Notebook-Instances, die Sie zum Ausführen des Beispiels in SageMaker verwenden können, finden Sie unterVerwenden von Amazon SageMaker Notebook Instancesaus. Sobald Sie eine Notebook-Instance erstellt und geöffnet haben, wählen Sie dasBeispiele für SageMaker-Registerkarte, um eine Liste aller SageMaker -Beispiele Zum Öffnen eines Notebooks klicken Sie auf die Registerkarte Use (Verwenden) und wählen Sie Create copy (Kopie erstellen) aus.