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 a usare il AWS SDK per 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. AWS SDK per 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, completerai le seguenti azioni:
-
Crea e addestra un modello Amazon Fraud Detector
-
Genera previsioni sulle frodi in tempo reale
Prerequisiti
Di seguito sono riportati i passaggi preliminari per questo tutorial.
-
CompletatoConfigurazione per Amazon Fraud Detector.
Se l'hai già fattoConfigura SDK AWS, assicurati di utilizzare Boto3 SDK versione 1.14.29 o successiva.
-
Ho seguito le istruzioni per il Ottieni e carica un set di dati di esempio file richiesto per questo tutorial.
Inizia a usare
Boto è l'Amazon Web Services SDK Amazon Web Services (AWS) per Python. Puoi usarlo per creare, configurare e gestire Servizi AWS. Per istruzioni su come installare Boto3, consulta SDK AWS per Python (Boto3)
Dopo l'installazione AWS SDK per 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 è stato creato alcun rilevatore, l'elenco è vuoto.
import boto3 fraudDetector = boto3.client('frauddetector') response = fraudDetector.get_detectors() print(response)
In questo passaggio, crei risorse che vengono utilizzate per definire il modello, l'evento e le regole.
Crea variabile
Una variabile è un elemento di dati del set di dati che desideri utilizzare per creare tipi di eventi, modelli e regole.
Nell'esempio seguente, l'CreateVariableAPI viene utilizzata per creare due variabili. Le variabili sono email_address
eip_address
. Assegnale 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 riceve 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 un tipo di entità
Un'entità rappresenta chi sta eseguendo 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 di sample_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 etichette e. fraud
legit
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, crei 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
. Definite 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 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 che sample_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, consulta. Scegliete 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. Specificate 'EXTERNAL_EVENTS'
la posizione trainingDataSource
e la posizione Amazon S3 in cui avete archiviato il set di dati RoleArndi esempio e il bucket Amazon S3 per cui avete archiviato. externalEventsDetail
Per il trainingDataSchema
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://
amzn-s3-demo-bucket
/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
. È possibile esaminare il punteggio delle prestazioni del modello e altre metriche prestazionali del modello.
Esamina le prestazioni del modello
Un passaggio importante nell'utilizzo di Amazon Fraud Detector consiste nel valutare l'accuratezza del modello utilizzando punteggi e metriche prestazionali. Una volta completata la formazione del modello, Amazon Fraud Detector convalida le prestazioni del modello utilizzando il 15% dei dati non utilizzati per addestrare il modello. Genera un punteggio prestazionale del modello e altre metriche prestazionali.
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 di prestazione del modello e sulle metriche prestazionali, consulta e. Punteggi del modello Metriche delle prestazioni del modello
Puoi aspettarti che tutti i tuoi modelli Amazon Fraud Detector addestrati abbiano metriche prestazionali di rilevamento delle frodi reali, simili alle metriche di questo tutorial.
Implementa un modello
Dopo aver esaminato le metriche delle prestazioni del tuo modello addestrato, distribuisci il modello e rendilo disponibile ad Amazon Fraud Detector per generare previsioni di frode. Per distribuire il modello addestrato, utilizza l'API. UpdateModelVersionStatus Nell'esempio seguente, viene utilizzato per aggiornare lo stato della versione del modello su ACTIVE.
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, ad esempio i modelli e le regole. Questa logica si riferisce a un evento particolare che si desidera valutare per individuare eventuali frodi. Una regola è una condizione specificata 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, ognuna delle quali ha lo stato DRAFT, ACTIVE o INACTIVE. Una versione del rilevatore deve avere almeno una regola associata.
Utilizzate i seguenti codici di esempio per creare il rilevatore, le regole, il risultato e per pubblicare il rilevatore.
Crea un rilevatore
Nell'esempio seguente, l'PutDetectorAPI viene utilizzata per creare un sample_detector
rilevatore per il tipo di sample_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
e. approve
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 diverse regole: high_risk
medium_risk
, e. low_risk
Crea espressioni di regole per confrontare il sample_fraud_detection_model_insightscore
valore del punteggio di prestazioni del modello con varie soglie. Questo serve a determinare il livello di rischio di un evento e assegnare il risultato definito nel passaggio 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'] )
Crea una versione del rilevatore
Una versione del rilevatore definisce il modello e le regole da utilizzare per prevedere le 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 con corrispondenza.
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 rilevatore sample_detector
creato nel passaggio precedente per generare previsioni di frode per tipo di sample_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 i dati relativi alla registrazione di un singolo account per 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 fatto quanto segue:
-
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.
-
Hai visualizzato il punteggio prestazionale del modello e altri parametri prestazionali generati da Amazon Fraud Detector.
-
Ha 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.
-
Ha testato il rilevatore fornendo diversi input e verificando se le regole e l'ordine di esecuzione delle regole funzionavano come previsto.
(Facoltativo) Esplora Amazon Fraud Detector APIs con un notebook Jupyter (IPython)
Per altri esempi su come utilizzare Amazon Fraud Detector APIs, consulta aws-fraud-detector-samples GitHub il repository.GetEventPrediction