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à.
Tutorial: Inizia subito a utilizzareAWS SDK for Python (Boto3)
Questo tutorial descrive come creare e addestrare un modello Amazon Fraud Detector e quindi utilizzare questo modello per generare previsioni di frode in tempo reale utilizzando ilAWS SDK for Python (Boto3). Il modello viene addestrato utilizzando il file di dati di esempio di registrazione dell'account che carichi nel bucket Amazon S3.
Alla fine di questo tutorial, si eseguono le seguenti azioni:
-
Crea e addestra un modello Amazon Fraud Detector
-
Genera previsioni di frode in tempo reale
Prerequisiti
Di seguito sono riportati i passaggi necessari per questo tutorial.
-
CompletatoConfigurazione per Amazon Fraud Detector.
Se lo hai già fattoConfigurazione AWS SDK, assicurati di utilizzare Boto3 SDK versione 1.14.29 o successiva.
-
Ho seguito le istruzioni per l'Ottieni e carica un set di dati di esempioarchiviazione necessarie per questo tutorial.
Nozioni di base
Boto è l'SDK di Amazon Web Services (AWS) per Python. Puoi usarlo per creare, configurare e gestireServizi AWS. Per istruzioni su come installare Boto3, consulta SDK AWS per Python (Boto3)
Dopo l'installazioneAWS SDK for Python (Boto3), esegui il seguente comando di esempio in Python per confermare che l'ambiente sia configurato correttamente. Se l'ambiente è configurato correttamente, la risposta contiene un elenco di rilevatori. Se non sono stati creati rilevatori, l'elenco è vuoto.
import boto3 fraudDetector = boto3.client('frauddetector') response = fraudDetector.get_detectors() print(response)
In questo passaggio, si creano risorse che vengono utilizzate per definire modelli, eventi e regole.
Creazione di una variabile
Una variabile è un elemento di dati del set di dati che si desidera utilizzare per creare il tipo di evento, il modello e le regole.
Nell'esempio seguente, l'CreateVariableAPI viene utilizzata per creare due variabili. Le variabili sonoemail_address
eip_address
. Assegnali ai tipi di variabili corrispondenti:EMAIL_ADDRESS
eIP_ADDRESS
. Queste variabili fanno parte del set di dati di esempio che hai caricato. Quando specifichi il tipo di variabile, Amazon Fraud Detector interpreta la variabile durante l'addestramento del modello e quando ottiene le previsioni. Solo le variabili con un tipo di variabile associato possono essere utilizzate per l'addestramento del modello.
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>' )
Crea tipo di entità
Un'entità rappresenta chi esegue l'evento e un tipo di entità classifica l'entità. Le classificazioni di esempio includono cliente, commerciante o account.
Nell'esempio seguente, l'PutEntityTypeAPI viene utilizzata per creare un tipo disample_customer
entità.
import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.put_entity_type( name = 'sample_customer', description = 'sample customer entity type' )
Crea etichetta
Un'etichetta classifica un evento come fraudolento o legittimo e viene utilizzata per addestrare il modello di rilevamento delle frodi. Il modello impara a classificare gli eventi utilizzando questi valori di etichetta.
Nell'esempio seguente, l'API Putlabel viene utilizzata per creare due etichettefraud
elegit
.
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' )
Con Amazon Fraud Detector, puoi creare modelli che valutano i rischi e generano previsioni di frode per singoli eventi. Un tipo di evento definisce la struttura di un singolo evento.
Nell'esempio seguente, l'PutEventTypeAPI viene utilizzata per creare un tipo di eventosample_registration
. È possibile definire il tipo di evento specificando le variabili (email_address
,ip_address
), il tipo di entità (sample_customer
) e le etichette (fraud
,legit
) create nel passaggio precedente.
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 addestra i modelli per imparare a rilevare le frodi per un tipo di evento specifico. Nel passaggio precedente, hai creato il tipo di evento. In questo passaggio, si crea e si addestra un modello per il tipo di evento. Il modello funge da contenitore per le versioni del modello. Ogni volta che si addestra un modello, viene creata una nuova versione.
Utilizza i seguenti codici di esempio per creare e addestrare un modello Online Fraud Insights. Questo modello si chiamasample_fraud_detection_model
. È per il tipo di evento chesample_registration
utilizza il set di dati di esempio di registrazione dell'account che hai caricato su Amazon S3.
Per ulteriori informazioni sui diversi tipi di modelli supportati da Amazon Fraud Detector, consultaScegliete un tipo di modello.
Crea un modello
Nell'esempio seguente, l'CreateModelAPI viene utilizzata per creare un modello.
import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.create_model ( modelId = 'sample_fraud_detection_model', eventTypeName = 'sample_registration', modelType = 'ONLINE_FRAUD_INSIGHTS')
Addestra un modello
Nell'esempio seguente, l'CreateModelVersionAPI viene utilizzata per addestrare il modello. Specifica'EXTERNAL_EVENTS'
la posizionetrainingDataSource
e la posizione Amazon S3 in cui hai archiviato il set di dati RoleArndi esempio e il bucket Amazon S3 per cuiexternalEventsDetail
. CometrainingDataSchema
parametro, specifica come Amazon Fraud Detector interpreta i dati di esempio. Più specificamente, specifica quali variabili includere e come classificare le etichette degli eventi.
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
' } )
Puoi addestrare il tuo modello più volte. Ogni volta che si addestra un modello, viene creata una nuova versione. Al termine dell'addestramento del modello, lo stato della versione del modello viene aggiornato aTRAINING_COMPLETE
. Puoi esaminare il punteggio delle prestazioni del modello e altre metriche delle prestazioni del modello.
Esamina le prestazioni del modello
Un passaggio importante nell'utilizzo di Amazon Fraud Detector consiste nel valutare l'accuratezza del modello utilizzando i punteggi del modello e le metriche delle prestazioni. Una volta completata la formazione sul modello, Amazon Fraud Detector convalida le prestazioni del modello utilizzando il 15% dei dati che non sono stati utilizzati per addestrare il modello. Genera un punteggio delle prestazioni del modello e altre metriche delle prestazioni.
Utilizza l'DescribeModelVersionsAPI per esaminare le prestazioni del modello. Guarda il punteggio complessivo delle prestazioni del modello e tutte le altre metriche generate da Amazon Fraud Detector per questo modello.
Per ulteriori informazioni sul punteggio delle prestazioni del modello e sulle metriche delle prestazioni, consultaPunteggi del modello eMetriche delle prestazioni del modello.
Puoi aspettarti che tutti i tuoi modelli addestrati di Amazon Fraud Detector dispongano di metriche delle prestazioni di rilevamento delle frodi nel mondo reale, simili alle metriche di questo tutorial.
Implementa un modello
Dopo aver esaminato le metriche delle prestazioni del modello addestrato, implementa il modello e mettilo a disposizione di Amazon Fraud Detector per generare previsioni di frode. Per implementare il modello addestrato, utilizza l'UpdateModelVersionStatusAPI. Nell'esempio seguente, viene utilizzato per aggiornare lo stato della versione del modello su ATTIVO.
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' )
Un rilevatore contiene la logica di rilevamento, come i modelli e le regole. Questa logica si riferisce a un particolare evento che desideri valutare per frode. Una regola è una condizione che si specifica per indicare ad Amazon Fraud Detector come interpretare i valori delle variabili durante la previsione. E il risultato è il risultato di una previsione di frode. Un rilevatore può avere più versioni, ciascuna delle quali ha lo stato DRAFT, ACTIVE o INACTIVE. Una versione del rilevatore deve possedere almeno una regola associata ad essa.
Utilizza i seguenti codici di esempio per creare il rilevatore, le regole, il risultato e per pubblicare il rilevatore.
Creazione di un rilevatore
Nell'esempio seguente, l'PutDetectorAPI viene utilizzata per creare unsample_detector
rilevatore per il tipo disample_registration
evento.
import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.put_detector ( detectorId = 'sample_detector', eventTypeName = 'sample_registration' )
Crea risultati
I risultati vengono creati per ogni possibile risultato di previsione delle frodi. Nell'esempio seguente, l'PutOutcomeAPI viene utilizzata per creare tre risultati:verify_customer
review
, eapprove
. Questi risultati vengono successivamente assegnati alle regole.
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' )
Crea regole
La regola è composta da una o più variabili del set di dati, un'espressione logica e uno o più risultati.
Nell'esempio seguente, l'CreateRuleAPI viene utilizzata per creare tre regole diverse:high_risk
medium_risk
, elow_risk
. Crea espressioni di regole per confrontare ilsample_fraud_detection_model_insightscore
valore del punteggio delle prestazioni del modello con varie soglie. Questo serve a determinare il livello di rischio di un evento e assegnare il risultato definito nella fase precedente.
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'] )
Creazione di una versione del rilevatore
Una versione detector definisce il modello e le regole che vengono utilizzati per ottenere la previsione delle frodi.
Nell'esempio seguente, l'CreateDetectorVersionAPI viene utilizzata per creare una versione del rilevatore. A tale scopo fornisce dettagli sulla versione del modello, regole e una modalità di esecuzione delle regole FIRST_MATCHED. Una modalità di esecuzione delle regole specifica la sequenza per la valutazione delle regole. La modalità di esecuzione delle regole FIRST_MATCHED specifica che le regole vengono valutate in sequenza, dalla prima all'ultima, fermandosi alla prima regola corrispondente.
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' )
L'ultimo passaggio di questo tutorial utilizza il rilevatoresample_detector
creato nel passaggio precedente per generare previsioni di frode per tipo disample_registration
evento in tempo reale. Il rilevatore valuta i dati di esempio caricati su Amazon S3. La risposta include i punteggi delle prestazioni del modello e tutti i risultati associati alle regole corrispondenti.
Nell'esempio seguente, l'GetEventPredictionAPI viene utilizzata per fornire dati provenienti dalla registrazione di un singolo account con ogni richiesta. Per questo tutorial, prendi i dati (email_address e ip_address) dal file di dati di esempio di registrazione dell'account. Ogni riga (riga) dopo la riga di intestazione superiore rappresenta i dati di un singolo evento di registrazione dell'account.
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' } )
Dopo aver completato questo tutorial, hai eseguito le seguenti operazioni:
-
Ha caricato un set di dati di eventi di esempio su Amazon S3.
-
Variabili, entità ed etichette create che vengono utilizzate per creare e addestrare un modello.
-
Ha creato e addestrato un modello utilizzando il set di dati di esempio.
-
Ho visualizzato il punteggio delle prestazioni del modello e altre metriche di performance generate da Amazon Fraud Detector.
-
Implementato il modello di rilevamento delle frodi.
-
Ha creato un rilevatore e aggiunto il modello distribuito.
-
Sono state aggiunte le regole, l'ordine di esecuzione delle regole e i risultati al rilevatore.
-
Versione del rilevatore creata.
-
Ho testato il rilevatore fornendo diversi input e controllando se le regole e l'ordine di esecuzione delle regole funzionavano come previsto.
(Facoltativo) Esplora le API Amazon Fraud Detector con un notebook Jupyter (IPython)
Per altri esempi su come utilizzare le API Amazon Fraud Detector, consulta aws-fraud-detector-samples GitHub il repositoryGetEventPrediction
API.