Amazon Fraud Detector ya no estará disponible para nuevos clientes a partir del 7 de noviembre de 2025. Para obtener capacidades similares a las de Amazon Fraud Detector SageMaker AutoGluon, explore Amazon y AWS WAF.
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Tutorial: Cómo empezar a usar el AWS SDK para Python (Boto3)
Este tutorial describe cómo crear y entrenar un modelo de Amazon Fraud Detector y, a continuación, utilizar este modelo para generar predicciones de fraude en tiempo real utilizando el AWS SDK para Python (Boto3). El modelo se entrena utilizando el archivo de datos de ejemplo de registro de la cuenta que subes al bucket de Amazon S3.
Al final de este tutorial, habrá completado las siguientes acciones:
-
Cree y entrene un modelo de Amazon Fraud Detector
-
Genere predicciones de fraude en tiempo real
Requisitos previos
Los siguientes son los pasos previos para este tutorial.
-
CompletadoConfigurar Amazon Fraud Detector.
Si ya lo has hechoConfiguración AWS SDK, asegúrate de usar la versión 1.14.29 o superior del SDK de Boto3.
-
He seguido las instrucciones para Obtenga y cargue un conjunto de datos de ejemplo archivar lo necesario para este tutorial.
Introducción
Boto es el SDK de Amazon Web Services (AWS) para Python. Puede usarlo para crear, configurar y administrar Servicios de AWS. Para obtener instrucciones sobre cómo instalar Boto3, consulte AWS SDK para Python (Boto3).
Tras la instalación AWS SDK para Python (Boto3), ejecute el siguiente comando de ejemplo de Python para confirmar que su entorno está configurado correctamente. Si su entorno está configurado correctamente, la respuesta contiene una lista de detectores. Si no se creó ningún detector, la lista está vacía.
import boto3 fraudDetector = boto3.client('frauddetector') response = fraudDetector.get_detectors() print(response)
En este paso, se crean los recursos que se utilizan para definir el modelo, el evento y las reglas.
Crea una variable
Una variable es un elemento de datos de tu conjunto de datos que deseas usar para crear el tipo de evento, el modelo y las reglas.
En el siguiente ejemplo, la CreateVariable API se usa para crear dos variables. Las variables son email_address yip_address. Asígnelas a los tipos de variables correspondientes: EMAIL_ADDRESS yIP_ADDRESS. Estas variables forman parte del conjunto de datos de ejemplo que has subido. Al especificar el tipo de variable, Amazon Fraud Detector interpreta la variable durante el entrenamiento del modelo y al obtener las predicciones. Solo las variables con un tipo de variable asociado se pueden usar para el entrenamiento del modelo.
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>' )
Cree un tipo de entidad
Una entidad representa quién está realizando el evento y un tipo de entidad clasifica la entidad. Los ejemplos de clasificaciones incluyen cliente , comerciante o cuenta.
En el siguiente ejemplo, la PutEntityType API se usa para crear un tipo de sample_customer entidad.
import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.put_entity_type( name = 'sample_customer', description = 'sample customer entity type' )
Crear etiqueta
Una etiqueta clasifica un evento como fraudulento o legítimo y se usa para entrenar el modelo de detección de fraudes. El modelo aprende a clasificar los eventos utilizando estos valores de etiqueta.
En el siguiente ejemplo, la API Putlabel se usa para crear dos etiquetas, fraud ylegit.
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, usted crea modelos que evalúan los riesgos y generan predicciones de fraude para eventos individuales. Un tipo de evento define la estructura de un evento individual.
En el siguiente ejemplo, la PutEventType API se usa para crear un tipo de eventosample_registration. Para definir el tipo de evento, especifique las variables (email_address,ip_address), el tipo de entidad (sample_customer) y las etiquetas (fraud,legit) que creó en el paso anterior.
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 entrena a los modelos para que aprendan a detectar el fraude en un tipo de evento específico. En el paso anterior, creó el tipo de evento. En este paso, crearás y entrenarás un modelo para el tipo de evento. El modelo actúa como un contenedor para las versiones del modelo. Cada vez que entrenas un modelo, se crea una nueva versión.
Utilice los siguientes códigos de ejemplo para crear y entrenar un modelo de Online Fraud Insights. Este modelo se llamasample_fraud_detection_model. Es para el tipo de evento que sample_registration utiliza el conjunto de datos de ejemplo de registro de la cuenta que cargó en Amazon S3.
Para obtener más información sobre los diferentes tipos de modelos que admite Amazon Fraud Detector, consulteElija un tipo de modelo.
Crear un modelo
En el siguiente ejemplo, la CreateModel API se usa para crear un modelo.
import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.create_model ( modelId = 'sample_fraud_detection_model', eventTypeName = 'sample_registration', modelType = 'ONLINE_FRAUD_INSIGHTS')
Entrena un modelo
En el siguiente ejemplo, la CreateModelVersion API se usa para entrenar el modelo. 'EXTERNAL_EVENTS'Especifique la ubicación de Amazon S3 trainingDataSource y la ubicación en la que almacenó su conjunto de datos RoleArn de ejemplo y la del bucket de Amazon S3externalEventsDetail. Como trainingDataSchema parámetro, especifique cómo interpreta Amazon Fraud Detector los datos del ejemplo. Más específicamente, especifique qué variables incluir y cómo clasificar las etiquetas de los eventos.
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' } )
Puede entrenar su modelo varias veces. Cada vez que entrenas un modelo, se crea una nueva versión. Una vez finalizado el entrenamiento del modelo, el estado de la versión del modelo se actualiza aTRAINING_COMPLETE. Puede revisar la puntuación de rendimiento del modelo y otras métricas de rendimiento del modelo.
Revise el rendimiento del modelo
Un paso importante a la hora de utilizar Amazon Fraud Detector es evaluar la precisión del modelo mediante las puntuaciones del modelo y las métricas de rendimiento. Una vez finalizado el entrenamiento del modelo, Amazon Fraud Detector valida el rendimiento del modelo utilizando el 15% de los datos que no se utilizaron para entrenar el modelo. Genera una puntuación de rendimiento del modelo y otras métricas de rendimiento.
Utilice la DescribeModelVersions API para revisar el rendimiento del modelo. Observe la puntuación general del rendimiento del modelo y todas las demás métricas generadas por Amazon Fraud Detector para este modelo.
Para obtener más información sobre la puntuación de rendimiento del modelo y las métricas de rendimiento, consulte Puntuaciones del modelo yMétricas de rendimiento del modelo.
Puede esperar que todos sus modelos entrenados de Amazon Fraud Detector cuenten con métricas de rendimiento de detección de fraudes reales, similares a las de este tutorial.
Implemente un modelo
Tras revisar las métricas de rendimiento de su modelo entrenado, impleméntelo y póngalo a disposición de Amazon Fraud Detector para generar predicciones de fraude. Para implementar el modelo entrenado, utilice la UpdateModelVersionStatus API. En el siguiente ejemplo, se usa para actualizar el estado de la versión del modelo a 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 detector contiene la lógica de detección, como los modelos y las reglas. Esta lógica es para un evento en particular que desea evaluar para determinar si es fraudulento. Una regla es una condición que se especifica para indicar a Amazon Fraud Detector cómo interpretar los valores de las variables durante la predicción. Y el resultado es el resultado de una predicción de fraude. Un detector puede tener varias versiones y cada una de ellas tiene el estado de BORRADOR , ACTIVO o INACTIVO. La versión de un detector debe tener al menos una regla asociada.
Utilice los siguientes códigos de ejemplo para crear el detector, las reglas, el resultado y publicar el detector.
Cree un detector
En el siguiente ejemplo, la PutDetector API se usa para crear un sample_detector detector para el tipo de sample_registration evento.
import boto3 fraudDetector = boto3.client('frauddetector') fraudDetector.put_detector ( detectorId = 'sample_detector', eventTypeName = 'sample_registration' )
Crea resultados
Los resultados se crean para cada posible resultado de predicción de fraude. En el siguiente ejemplo, la PutOutcome API se usa para crear tres resultados: verify_customerreview, yapprove. Estos resultados se asignan posteriormente a las reglas.
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 reglas
La regla se compone de una o más variables de su conjunto de datos, una expresión lógica y uno o más resultados.
En el siguiente ejemplo, la CreateRule API se usa para crear tres reglas diferentes: high_riskmedium_risk, ylow_risk. Cree expresiones de regla para comparar el sample_fraud_detection_model_insightscore valor de la puntuación de rendimiento del modelo con varios umbrales. Esto sirve para determinar el nivel de riesgo de un evento y asignar el resultado que se definió en el paso anterior.
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'] )
Cree una versión de detector
Una versión de detector define el modelo y las reglas que se utilizan para predecir el fraude.
En el siguiente ejemplo, la CreateDetectorVersion API se usa para crear una versión de detector. Para ello, proporciona detalles de la versión del modelo, reglas y un modo de ejecución de reglas FIRST_MATCHED. El modo de ejecución de reglas especifica la secuencia para evaluar las reglas. El modo de ejecución de reglas FIRST_MATCHED especifica que las reglas se evalúan secuencialmente, de la primera a la última, deteniéndose en la primera regla coincidente.
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' )
El último paso de este tutorial utiliza el detector sample_detector creado en el paso anterior para generar predicciones de fraude para el tipo de sample_registration evento en tiempo real. El detector evalúa los datos de ejemplo que se cargan en Amazon S3. La respuesta incluye las puntuaciones de rendimiento del modelo, así como cualquier resultado asociado a las reglas coincidentes.
En el siguiente ejemplo, la GetEventPrediction API se usa para proporcionar datos del registro de una sola cuenta con cada solicitud. Para este tutorial, toma datos (email_address e ip_address) del archivo de datos de ejemplo de registro de la cuenta. Cada línea (fila) después de la línea del encabezado superior representa los datos de un único evento de registro de cuenta.
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' } )
Tras completar este tutorial, hizo lo siguiente:
-
Ha subido un ejemplo de conjunto de datos de eventos a Amazon S3.
-
Se crearon variables, entidades y etiquetas que se utilizan para crear y entrenar un modelo.
-
Creé y entrené un modelo con el conjunto de datos de ejemplo.
-
Consulté la puntuación de rendimiento del modelo y otras métricas de rendimiento que generó Amazon Fraud Detector.
-
Implementé el modelo de detección de fraudes.
-
Creó un detector y agregó el modelo implementado.
-
Se agregaron las reglas, el orden de ejecución de las reglas y los resultados al detector.
-
Se creó la versión del detector.
-
Probé el detector proporcionando diferentes entradas y comprobando si las reglas y el orden de ejecución de las reglas funcionaban según lo esperado.
(Opcional) Explore las API de Amazon Fraud Detector con un cuaderno de notas de Jupyter (IPython)
Para obtener más ejemplos sobre cómo usar las API de Amazon Fraud Detector, consulte el repositorio aws-fraud-detector-samples. GitHub GetEventPrediction