Tutorial: Erste Schritte mit der Verwendung vonAWS SDK for Python (Boto3) - Amazon Fraud Detector

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.

Tutorial: Erste Schritte mit der Verwendung vonAWS SDK for Python (Boto3)

In diesem Tutorial wird beschrieben, wie Sie ein Amazon Fraud Detector Detector-Modell erstellen und trainieren und dieses Modell anschließend verwenden, um mithilfe des Betrugsvorhersagen in Echtzeit zu generierenAWS SDK for Python (Boto3). Das Modell wird anhand der Beispieldatendatei für die Kontoregistrierung trainiert, die Sie in den Amazon S3 S3-Bucket hochladen.

Am Ende dieses Tutorials führen Sie die folgenden Aktionen durch:

  • Erstellen und trainieren Sie ein Amazon Fraud Detector Detector-Modell

  • Generieren von Betrugsprognosen in Echtzeit

Voraussetzungen

Im Folgenden sind die erforderlichen Schritte für dieses Tutorial aufgeführt.

Erste Schritte

Boto ist das Amazon Web Services (AWS) -SDK für Python. Sie können es zum Erstellen, Konfigurieren und Verwalten verwendenAWS-Services. Anweisungen zur Installation von Boto3 finden Sie unter AWS SDK for Python (Boto3).

Führen Sie nach der InstallationAWS SDK for Python (Boto3) den folgenden Python-Beispielbefehl aus, um zu überprüfen, ob Ihre Umgebung korrekt konfiguriert ist. Wenn Ihre Umgebung richtig konfiguriert ist, enthält die Antwort eine Liste von Detektoren. Wenn keine Detektoren erstellt wurden, ist die Liste leer.

import boto3 fraudDetector = boto3.client('frauddetector') response = fraudDetector.get_detectors() print(response)

In diesem Schritt erstellen Sie Ressourcen, die zur Definition von Modell, Ereignis und Regeln verwendet werden.

Erstellen einer Variablen

Eine Variable ist ein Datenelement aus Ihrem Datensatz, das Sie verwenden möchten, um den Ereignistyp, das Modell und die Regeln zu erstellen.

Im folgenden Beispiel wird die CreateVariableAPI verwendet, um zwei Variablen zu erstellen. Die Variablen sindemail_address undip_address. Weisen Sie sie den entsprechenden Variablentypen zu:EMAIL_ADDRESS undIP_ADDRESS. Diese Variablen sind Teil des Beispieldatensatzes, den Sie hochgeladen haben. Wenn Sie den Variablentyp angeben, interpretiert Amazon Fraud Detector die Variable während des Modelltrainings und beim Abrufen von Vorhersagen. Nur Variablen mit einem zugehörigen Variablentyp können für das Modelltraining verwendet werden.

import boto3 fraudDetector = boto3.client('frauddetector') #Create variable email_address fraudDetector.create_variable( name = 'email_address', variableType = 'EMAIL_ADDRESS', dataSource = 'EVENT', dataType = 'STRING', defaultValue = '<unknown>' ) #Create variable ip_address fraudDetector.create_variable( name = 'ip_address', variableType = 'IP_ADDRESS', dataSource = 'EVENT', dataType = 'STRING', defaultValue = '<unknown>' )

Entitätstyp erstellen

Eine Entität stellt dar, wer das Ereignis ausführt bewertet die Entität. Zu den Klassifizierungen gehören beispielsweise Kunde, Händler oder Konto.

Im folgenden Beispiel wird PutEntityTypeAPI verwendet, um einensample_customer Entitätstyp zu erstellen.

import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.put_entity_type( name = 'sample_customer', description = 'sample customer entity type' )

Erstellen einer Beschriftung

Eine Beschriftung klassifiziert ein Ereignis als betrügerisch oder legitim und dient dazu, das Betrugserkennungsmodell zu trainieren. Das Modell lernt, Ereignisse anhand dieser Labelwerte zu klassifizieren.

Im folgenden Beispiel wird die Putlabel-API verwendet, um zwei Labels zu erstellen,fraud undlegit.

import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.put_label( name = 'fraud', description = 'label for fraud events' ) fraudDetector.put_label( name = 'legit', description = 'label for legitimate events' )

Mit Amazon Fraud Detector erstellen Sie Modelle zur Bewertung von Risiken und Generierung von Betrugsprognosen für einzelne Ereignisse. Ein Ereignistyp definiert die Struktur eines einzelnen Ereignisses.

Im folgenden Beispiel wird die PutEventTypeAPI verwendet, um einen Ereignistyp zu erstellensample_registration. Sie definieren den Ereignistyp, indem Sie die Variablen (email_address,ip_address), den Entitätstyp (sample_customer) und die Bezeichnungen (fraud,legit) angeben, die Sie im vorherigen Schritt erstellt haben.

import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.put_event_type ( name = 'sample_registration', eventVariables = ['ip_address', 'email_address'], labels = ['legit', 'fraud'], entityTypes = ['sample_customer'])

Amazon Fraud Detector trainiert Modelle, um zu lernen, Betrug für einen bestimmten Ereignistyp zu erkennen. Im vorherigen Schritt haben Sie den Ereignistyp erstellt. In diesem Schritt erstellen und trainieren Sie ein Modell für den Ereignistyp. Das Modell dient als Container für Ihre Modellversionen. Jedes Mal, wenn Sie ein Modell trainieren, wird eine neue Version erstellt.

Verwenden Sie die folgenden Beispielcodes, um ein Online Fraud Insights-Modell zu erstellen und zu trainieren. Dieses Modell heißtsample_fraud_detection_model. Es ist für den Ereignistyp undsample_registration verwendet den Beispieldatensatz für die Kontoregistrierung, den Sie auf Amazon S3 hochgeladen haben.

Weitere Informationen zu den verschiedenen Modelltypen, die Amazon Fraud Detector unterstützt, finden Sie unterWählen Sie einen Modelltyp.

Erstellen Sie ein Modell

Im folgenden Beispiel wird die CreateModelAPI verwendet, um ein Modell zu erstellen.

import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.create_model ( modelId = 'sample_fraud_detection_model', eventTypeName = 'sample_registration', modelType = 'ONLINE_FRAUD_INSIGHTS')

Trainiere ein Model

Im folgenden Beispiel wird die CreateModelVersionAPI verwendet, um das Modell zu trainieren. Geben Sie'EXTERNAL_EVENTS' fürtrainingDataSource und den Amazon S3 S3-Standort an, an dem Sie Ihren Beispieldatensatz gespeichert haben, und den RoleArndes Amazon S3 S3-Buckets fürexternalEventsDetail. Geben Sie alstrainingDataSchema Parameter an, wie Amazon Fraud Detector die Beispieldaten interpretiert. Geben Sie insbesondere an, welche Variablen einbezogen werden sollen und wie die Ereignisbeschriftungen klassifiziert werden sollen.

import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.create_model_version ( modelId = 'sample_fraud_detection_model', modelType = 'ONLINE_FRAUD_INSIGHTS', trainingDataSource = 'EXTERNAL_EVENTS', trainingDataSchema = { 'modelVariables' : ['ip_address', 'email_address'], 'labelSchema' : { 'labelMapper' : { 'FRAUD' : ['fraud'], 'LEGIT' : ['legit'] } } }, externalEventsDetail = { 'dataLocation' : 's3://your-S3-bucket-name/your-example-data-filename.csv', 'dataAccessRoleArn' : 'role_arn' } )

Sie können Ihr Modell mehrfach trainieren. Jedes Mal, wenn Sie ein Modell trainieren, wird eine neue Version erstellt. Nach Abschluss des Modelltrainings wird der Status der Modellversion auf aktualisiertTRAINING_COMPLETE. Sie können den Modellleistungswert und andere Kennzahlen zur Modellleistung überprüfen.

Überprüfen Sie die Leistung des Modells

Ein wichtiger Schritt bei der Verwendung von Amazon Fraud Detector besteht darin, die Genauigkeit Ihres Modells anhand von Modellbewertungen und Leistungskennzahlen zu bewerten. Nach Abschluss des Modelltrainings validiert Amazon Fraud Detector die Modellleistung anhand der 15% Ihrer Daten, die nicht zum Trainieren des Modells verwendet wurden. Es generiert einen Modellleistungswert und andere Leistungsmetriken.

Verwenden Sie die DescribeModelVersionsAPI, um die Modellleistung zu überprüfen. Sehen Sie sich den Gesamtwert der Modellleistung und alle anderen von Amazon Fraud Detector für dieses Modell generierten Metriken an.

Weitere Informationen zum Leistungswert und zu den Leistungskennzahlen des Modells finden Sie unterModellwerte undModellleistungsmetriken.

Sie können davon ausgehen, dass alle Ihre trainierten Amazon Fraud Detector Detector-Modelle über reale Leistungskennzahlen zur Betrugserkennung verfügen, die den Kennzahlen in diesem Tutorial ähneln.

Stellen Sie ein Modell bereit

Nachdem Sie die Leistungskennzahlen Ihres trainierten Modells überprüft haben, stellen Sie das Modell bereit und stellen Sie es Amazon Fraud Detector zur Verfügung, um Betrugsvorhersagen zu erstellen. Verwenden Sie die UpdateModelVersionStatusAPI, um das trainierte Modell bereitzustellen. Im folgenden Beispiel wird es verwendet, um den Status der Modellversion auf ACTIVE zu aktualisieren.

import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.update_model_version_status ( modelId = 'sample_fraud_detection_model', modelType = 'ONLINE_FRAUD_INSIGHTS', modelVersionNumber = '1.00', status = 'ACTIVE' )

Ein Detektor enthält die Erkennungslogik, z. B. die Modelle und Regeln. Diese Logik bezieht sich auf ein bestimmtes Ereignis, das Sie auf Betrug hin auswerten möchten. Eine Regel ist eine Bedingung, die Sie angeben, um Amazon Fraud Detector mitzuteilen, wie Variablenwerte während der Vorhersage zu interpretieren sind. Und das Ergebnis ist das Ergebnis einer Betrugsvorhersage. Ein Melder kann mehrere Versionen haben, wobei jede Version den Status ENTWURF, AKTIV oder INAKTIV hat. Einer Detektorversion muss mindestens eine Regel zugeordnet sein.

Verwenden Sie die folgenden Beispielcodes, um den Detektor, die Regeln und das Ergebnis zu erstellen und den Detektor zu veröffentlichen.

Erstellen eines Detektors

Im folgenden Beispiel wird die PutDetectorAPI verwendet, um einensample_detector Detektor für densample_registration Ereignistyp zu erstellen.

import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.put_detector ( detectorId = 'sample_detector', eventTypeName = 'sample_registration' )

Ergebnisse schaffen

Für jedes mögliche Ergebnis der Betrugsprognose werden Ergebnisse erstellt. Im folgenden Beispiel wird die PutOutcomeAPI verwendet, um drei Ergebnisse zu erstellen:verify_customerreview, undapprove. Diese Ergebnisse werden später Regeln zugewiesen.

import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.put_outcome( name = 'verify_customer', description = 'this outcome initiates a verification workflow' ) fraudDetector.put_outcome( name = 'review', description = 'this outcome sidelines event for review' ) fraudDetector.put_outcome( name = 'approve', description = 'this outcome approves the event' )

Regeln erstellen

Die Regel besteht aus einer oder mehreren Variablen aus Ihrem Datensatz, einem logischen Ausdruck und einem oder mehreren Ergebnissen.

Im folgenden Beispiel wird die CreateRuleAPI verwendet, um drei verschiedene Regeln zu erstellen:high_riskmedium_risk, undlow_risk. Erstellen Sie Regelausdrücke, um den Wert dessample_fraud_detection_model_insightscore Modellleistungswerts mit verschiedenen Schwellenwerten zu vergleichen. Dies dient dazu, das Risikoniveau für ein Ereignis zu bestimmen und das im vorherigen Schritt definierte Ergebnis zuzuweisen.

import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.create_rule( ruleId = 'high_fraud_risk', detectorId = 'sample_detector', expression = '$sample_fraud_detection_model_insightscore > 900', language = 'DETECTORPL', outcomes = ['verify_customer'] ) fraudDetector.create_rule( ruleId = 'medium_fraud_risk', detectorId = 'sample_detector', expression = '$sample_fraud_detection_model_insightscore <= 900 and $sample_fraud_detection_model_insightscore > 700', language = 'DETECTORPL', outcomes = ['review'] ) fraudDetector.create_rule( ruleId = 'low_fraud_risk', detectorId = 'sample_detector', expression = '$sample_fraud_detection_model_insightscore <= 700', language = 'DETECTORPL', outcomes = ['approve'] )

Erstellen einer Detektorversion

Eine Version des Detektors definiert ein Modell und Regeln, die zur Betrugsvorhersage verwendet werden.

Im folgenden Beispiel wird die CreateDetectorVersionAPI verwendet, um eine Detektorversion zu erstellen. Dazu werden Modellversionsdetails, Regeln und ein Regelausführungsmodus FIRST_MATCHED bereitgestellt. Ein Regelausführungsmodus gibt die Reihenfolge für die Auswertung von Regeln an. Der Regelausführungsmodus FIRST_MATCHED gibt an, dass die Regeln nacheinander von der ersten bis zur letzten und stoppt dabei bei der ersten übereinstimmenden Regel.

import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.create_detector_version( detectorId = 'sample_detector', rules = [{ 'detectorId' : 'sample_detector', 'ruleId' : 'high_fraud_risk', 'ruleVersion' : '1' }, { 'detectorId' : 'sample_detector', 'ruleId' : 'medium_fraud_risk', 'ruleVersion' : '1' }, { 'detectorId' : 'sample_detector', 'ruleId' : 'low_fraud_risk', 'ruleVersion' : '1' } ], modelVersions = [{ 'modelId' : 'sample_fraud_detection_model', 'modelType': 'ONLINE_FRAUD_INSIGHTS', 'modelVersionNumber' : '1.00' } ], ruleExecutionMode = 'FIRST_MATCHED' )

Im letzten Schritt dieses Tutorials wird der im vorherigen Schrittsample_detector erstellte Detektor verwendet, um Betrugsvorhersagen für densample_registration Ereignistyp in Echtzeit zu generieren. Der Detektor wertet die Beispieldaten aus, die auf Amazon S3 hochgeladen wurden. Die Antwort umfasst die Leistungswerte des Modells sowie alle Ergebnisse, die den abgeglichenen Regeln zugeordnet sind.

Im folgenden Beispiel wird die GetEventPredictionAPI verwendet, um bei jeder Anfrage Daten aus einer einzelnen Kontoregistrierung bereitzustellen. Verwenden Sie für dieses Tutorial Daten (email_address und ip_address) aus der Beispieldatendatei für die Kontoregistrierung. Jede Zeile (Zeile) nach der oberen Kopfzeile steht für Daten aus einem einzelnen Kontoregistrierungsereignis.

import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.get_event_prediction( detectorId = 'sample_detector', eventId = '802454d3-f7d8-482d-97e8-c4b6db9a0428', eventTypeName = 'sample_registration', eventTimestamp = '2020-07-13T23:18:21Z', entities = [{'entityType':'sample_customer', 'entityId':'12345'}], eventVariables = { 'email_address': 'johndoe@exampledomain.com', 'ip_address': '1.2.3.4' } )

Nachdem Sie dieses Tutorial abgeschlossen haben, sind Sie wie folgt vorgegangen:

  • Hat einen Beispiel-Ereignisdatensatz in Amazon S3 hochgeladen.

  • Variablen, Entitäten und Labels erstellt, die zum Erstellen und Trainieren eines Modells verwendet werden.

  • Anhand des Beispieldatensatzes wurde ein Modell erstellt und trainiert.

  • Der Leistungswert des Modells und andere von Amazon Fraud Detector generierte Leistungskennzahlen wurden angezeigt.

  • Das Modell zur Betrugserkennung wurde eingesetzt.

  • Erstellte einen Detektor und fügte das bereitgestellte Modell hinzu.

  • Dem Detektor wurden Regeln, die Reihenfolge der Regelausführung und Ergebnisse hinzugefügt.

  • Erstellen der Detektorversion.

  • Der Detektor wurde getestet, indem verschiedene Eingaben bereitgestellt und überprüft wurden, ob die Regeln und die Reihenfolge der Regelausführung wie erwartet funktionierten.

(Optional) Erkunden Sie die Amazon Fraud Detector Detector-APIs mit einem Jupyter-Notebook (iPython)

Weitere Beispiele für die Verwendung der Amazon Fraud Detector Detector-APIs finden Sie im aws-fraud-detector-samples GitHub Repository. Zu den Themen, die in den Notizbüchern behandelt werden, gehören sowohl das Erstellen von Modellen als auch Detektoren mithilfe der Amazon Fraud Detector Detector-APIs sowie das Erstellen von Anfragen zur Batch-Betrugsprognose mithilfe derGetEventPrediction API.