Cree un flujo de trabajo de aprendizaje automático sin código con Snowflake, Amazon SageMaker Canvas y Amazon Quick – Parte 1: Configuración de su entorno Snowflake

Las organizaciones de atención médica, comercio minorista y ciencias biológicas generan cantidades masivas de datos operativos en almacenes de datos en la nube como Snowflake. Si bien estos sistemas almacenan y escalan información de manera eficiente, transformar esos datos en predicciones significativas sigue siendo un desafío. Los enfoques tradicionales de aprendizaje automático (ML) requieren equipos especializados, largos ciclos de desarrollo y un gran soporte de ingeniería, lo que genera retrasos y limita la experimentación para los usuarios empresariales que entienden mejor los datos.

Un flujo de trabajo de aprendizaje automático sin código cambia esa dinámica.

Con Amazon SageMaker Canvas, puede explorar conjuntos de datos, preparar funciones, crear modelos predictivos y generar información visualmente sin escribir código y sin depender de recursos de ciencia de datos. Los analistas de negocios, propietarios de productos y equipos operativos pueden acelerar la toma de decisiones mientras mantienen la seguridad y la gobernanza empresarial.

Esta es la Parte 1 de una serie de tres partes. La parte 1 cubre la configuración de su cuenta de AWS y el entorno Snowflake. La parte 2 conecta Amazon SageMaker Canvas con Snowflake para preparar datos y crear un modelo de detección de fraude. La parte 3 envía predicciones a Amazon Quick para crear paneles interactivos y compartir información con las partes interesadas.

Reto empresarial

Esta solución se inspiró en una organización de atención médica real que había acumulado años de datos operativos en Snowflake, incluidas transacciones de ventas, movimiento de productos, interacciones con pacientes y métricas de desempeño regional. Si bien la base de datos era sólida, convertir esos datos en conocimientos predictivos seguía siendo un desafío.

Los equipos de negocios querían pronosticar la demanda en múltiples categorías de productos, comprender los patrones de consumo estacionales y regionales y mostrar información basada en ML directamente dentro de los paneles de inteligencia empresarial (BI) para respaldar decisiones más rápidas. Sin embargo, la organización carecía de suficiente capacidad científica de datos para satisfacer estas necesidades. Cada nueva solicitud de pronóstico o análisis requería especialistas en ingeniería o aprendizaje automático, lo que generaba ciclos de desarrollo largos y experimentación limitada.

Esto creó una clara brecha: los usuarios empresariales entendían las preguntas y los datos, pero no tenían una forma práctica de construir e iterar modelos predictivos por sí mismos. Además, una vez generadas las predicciones, las organizaciones necesitaban una forma de visualizar y compartir estos conocimientos con las partes interesadas a través de paneles interactivos. En lugar de introducir otro proceso complejo de aprendizaje automático, la organización necesitaba un enfoque que pudiera acercar el aprendizaje automático a los equipos empresariales. Ese enfoque tenía que funcionar de forma nativa con los datos existentes de Snowflake, visualizar predicciones a través de herramientas de BI familiares y reducir la dependencia de recursos especializados sin comprometer la gobernanza o la seguridad.

Naturalmente, estos requisitos apuntaban hacia un enfoque de aprendizaje automático sin código integrado con capacidades de visualización como siguiente paso.

Descripción general de la solución

Para cerrar la brecha entre entornos ricos en datos y equipos empresariales hambrientos de información, esta publicación lo guía a través de un flujo de trabajo de aprendizaje automático sin código creado en Amazon SageMaker Canvas. En lugar de reemplazar su infraestructura de datos existente, este enfoque amplía el valor de sus inversiones en Snowflake al hacer que el aprendizaje automático sea accesible para usuarios no técnicos y conectar las predicciones directamente a las herramientas de visualización.

Amazon SageMaker Canvas proporciona una interfaz visual intuitiva que se conecta directamente a Snowflake, para que pueda preparar datos, crear modelos de aprendizaje automático y generar pronósticos. Después de entrenar su modelo, impleméntelo en Amazon SageMaker Endpoint directamente desde la página de detalles del modelo de Canvas, sin necesidad de configuración de infraestructura. Cuando el estado del terminal muestre En servicio, genere predicciones sobre los datos de sus transacciones de Snowflake. Para visualizar los resultados en Amazon Quick, utilice predicciones por lotes en Canvas para enviar el conjunto de datos puntuado a Amazon Simple Storage Service (Amazon S3). Amazon Quick visualiza estos conocimientos a través de paneles interactivos, lo que hace que los pronósticos basados ​​en ML sean accesibles para las partes interesadas de toda su organización sin canalizaciones personalizadas ni intervención de ciencia de datos.

Figura 1: Arquitectura de un extremo a otro que muestra el flujo de datos desde Snowflake a través de Amazon SageMaker Canvas hasta los paneles de Amazon Quick Sight

Esta arquitectura ofrece beneficios clave:

Acceso democratizado al aprendizaje automático a través de la creación de modelos de autoservicio sin experiencia en codificación. Preparación de datos simplificada con más de 300 transformaciones visuales impulsadas por Data Wrangler mientras se mantiene la gobernanza empresarial. Se aceleró el tiempo de obtención de información al reducir el desarrollo de modelos de meses a horas. Capacitación sobre la infraestructura administrada de Amazon SageMaker. Visualización interactiva de predicciones a través de paneles de control de Amazon Quick Sight. Soporte para múltiples tipos de problemas de ML, incluida la regresión, la clasificación y el pronóstico de series temporales para abordar diversas preguntas comerciales desde una única solución.

Implementación técnica

Esta sección recorre los pasos prácticos para configurar su entorno Snowflake con datos de muestra de detección de fraude.

Requisitos previos

Asegúrese de tener los siguientes requisitos previos.

Una cuenta de AWS. Cuenta de copo de nieve. Para conocer los pasos para crear una cuenta de Snowflake, consulte Crear una cuenta de prueba gratuita de Snowflake.

Configuración de la base de datos de Snowflake

Para crear una base de datos de Snowflake, en el panel del lado izquierdo de la consola de Snowflake, elija el signo más (+) y luego elija la hoja de trabajo SQL. Se abre un archivo SQL en blanco. Copie y pegue los siguientes comandos SQL en la hoja de trabajo y elija Ejecutar.

— Crear base de datos y almacén USO ROL administrador de cuentas; CREAR O REEMPLAZAR ALMACÉN HOL_WH CON WAREHOUSE_SIZE=’X-SMALL’; CREAR O REEMPLAZAR FRAUDE DE BASE DE DATOS; — Utilice la base de datos USE FRAUDE DE BASE DE DATOS; – Cree la tabla de fraude final con los tipos de datos adecuados CREAR O REEMPLAZAR TABLA FRAUD.PUBLIC.FRAUD_TABLE (NÚMERO de identificación, trans_date_trans_time TIMESTAMP_NTZ(9), cc_num NÚMERO, comerciante VARCHAR, categoría VARCHAR, amt NUMERO(38,2), primer VARCHAR, último VARCHAR, género VARCHAR, calle VARCHAR, ciudad VARCHAR, estado VARCHAR, zip NÚMERO, lat NÚMERO(38,15), largo NÚMERO(38,14), city_pop NÚMERO(38,0), trabajo VARCHAR, fecha de nacimiento VARCHAR, trans_num VARCHAR, unix_time NÚMERO, merch_lat NÚMERO(38,15), merch_long NÚMERO(38,14), is_fraud NÚMERO); — Genere datos de muestra de detección de fraude para 2020 INSERT INTO FRAUD.PUBLIC.FRAUD_TABLE CON raw_data AS ( SELECT ROW_NUMBER() OVER (ORDER BY SEQ4()) as id, DATEADD(minuto, UNIFORM(0, 525600, RANDOM()), ‘2020-01-01 00:00:00’::TIMESTAMP_NTZ) as trans_date_trans_time, UNIFORM(1, 1000, RANDOM()) como cc_num, CONCAT(‘merchant_’, UNIFORM(1, 500, RANDOM())) como comerciante, CASE UNIFORM(1, 14, RANDOM()) CUANDO 1 ENTONCES ‘grocery_pos’ CUANDO 2 ENTONCES ‘gas_transport’ CUANDO 3 ENTONCES ‘shopping_net’ CUANDO 4 ENTONCES ‘shopping_pos’ CUANDO 5 ENTONCES ‘comida_comida’ CUANDO 6 ENTONCES ‘entretenimiento’ CUANDO 7 ENTONCES ‘cuidado_personal’ CUANDO 8 ENTONCES ‘salud_fitness’ CUANDO 9 ENTONCES ‘viajar’ CUANDO 10 ENTONCES ‘kids_pets’ CUANDO 11 ENTONCES ‘hogar’ CUANDO 12 ENTONCES ‘misc_net’ CUANDO 13 ENTONCES ‘misc_pos’ MÁS ‘otro’ FINAL como categoría, ROUND(UNIFORM(1, 1000, RANDOM()) + UNIFORM(0, 99, RANDOM())/100, 2) como cantidad, CONCAT(‘Nombre’, UNIFORM(1, 1000, RANDOM())) como primero, CONCAT(‘Apellido’, UNIFORM(1, 1000, RANDOM())) como último, CASE UNIFORM(0, 1, RANDOM()) CUANDO 0 ENTONCES ‘M’ ELSE ‘F’ END como género, CONCAT(UNIFORM(1, 9999, RANDOM()), ‘ Main St’) como calle, CASE UNIFORM(1, 10, RANDOM()) CUANDO 1 ENTONCES ‘Nueva York’ CUANDO 2 ENTONCES ‘Los Ángeles’ CUANDO 3 ENTONCES ‘Chicago’ CUANDO 4 ENTONCES ‘Houston’ CUANDO 5 ENTONCES ‘Phoenix’ CUANDO 6 ENTONCES ‘Philadelphia’ CUANDO 7 ENTONCES ‘San Antonio’ CUANDO 8 ENTONCES ‘San Diego’ CUANDO 9 ENTONCES ‘Dallas’ MÁS ‘San José’ TERMINA como ciudad, CASO UNIFORME (1, 10, ALEATORIO()) CUANDO 1 ENTONCES ‘NY’ CUANDO 2 ENTONCES ‘CA’ CUANDO 3 ENTONCES ‘IL’ CUANDO 4 ENTONCES ‘TX’ CUANDO 5 ENTONCES ‘AZ’ CUANDO 6 ENTONCES ‘PA’ CUANDO 7 ENTONCES ‘TX’ CUANDO 8 ENTONCES ‘CA’ CUANDO 9 ENTONCES ‘TX’ ELSE ‘CA’ FINAL como estado, UNIFORME(10000, 99999, RANDOM()) como zip, ROUND(UNIFORM(25.0, 49.0, RANDOM()) + UNIFORM(0, 999999, RANDOM())/1000000, 15) como lat, ROUND(UNIFORM(-125.0, -65.0, RANDOM()) + UNIFORM(0, 99999999999999, RANDOM())/100000000000000, 14) como “LARGO”, UNIFORM(10000, 5000000, RANDOM()) como city_pop, CONCAT(‘Job_Title_’, UNIFORM(1, 100, RANDOM())) como trabajo, DATEADD(año, -UNIFORM(18, 80, RANDOM()), ‘2020-12-01’::DATE) como fecha de nacimiento, CONCAT(‘trans_’, LPAD(ROW_NUMBER() OVER (ORDER BY SEQ4()), 10, ‘0’)) como trans_num, DATEDIFF(segundo, ‘1970-01-01’, DATEADD(minuto, UNIFORM(0, 44640, RANDOM()), ‘2020-12-01 00:00:00’::TIMESTAMP_NTZ)) como unix_time, ROUND(UNIFORM(25.0, 49.0, RANDOM()) + UNIFORM(0, 999999, RANDOM())/1000000, 15) como merch_lat, ROUND(UNIFORM(-125.0, -65.0, RANDOM()) + UNIFORM(0, 999999999999999, RANDOM())/100000000000000, 14) como merch_long FROM TABLE(GENERATOR(ROWCOUNT => 139538)) ) SELECT id, trans_date_trans_time, cc_num, comerciante, categoría, amt, primero, último, género, calle, ciudad, estado, zip, lat, “LONG”, city_pop, trabajo, fecha de nacimiento, trans_num, unix_time, merch_lat, merch_long, CASE WHEN categoría IN (‘shopping_net’, ‘misc_net’) AND amt > 700 AND UNIFORM(0, 100, RANDOM()) < 85 ENTONCES 1 CUANDO categoría = 'travel' AND amt > 800 AND UNIFORM(0, 100, RANDOM()) < 80 ENTONCES 1 CUANDO amt > 900 Y EXTRACTO(HORA DE trans_date_trans_time) ENTRE 0 Y 4 Y UNIFORM(0, 100, RANDOM()) < 75 ENTONCES 1 CUANDO categoría IN ('shopping_net', 'misc_net', 'travel') AND amt > 400 AND amt <= 700 AND UNIFORM(0, 100, RANDOM()) < 12 ENTONCES 1 CUANDO EXTRACTO (HORA DE trans_date_trans_time) ENTRE 0 Y 3 Y UNIFORME(0, 100, RANDOM()) < 3 ENTONCES 1 MÁS 0 FINAL como is_fraud FROM raw_data;

Luego seleccione cada subsección por separado y ejecútelas una por una eligiendo Ejecutar. Después de que las consultas se ejecuten correctamente, confirme la configuración ejecutando las siguientes consultas de verificación.

SELECCIONAR CUENTA

como total_records FROM FRAUD_TABLE; SELECCIONE LOS 10 PRINCIPALES * DE FRAUD_TABLE; SELECCIONAR es_fraude, CONTAR

como recuento FROM FRAUD_TABLE GROUP BY is_fraud;

Recopile la información necesaria para conectarse desde Snowflake a Amazon SageMaker Canvas. La conexión requiere el nombre de la cuenta de la organización Snowflake, que combina el nombre de la organización Snowflake y el nombre de la cuenta con un guión. Ejecute la consulta SQL en la hoja de trabajo para determinar el nombre de la cuenta de la organización.

SELECT CURRENT_ORGANIZATION_NAME()||’-‘||CURRENT_ACCOUNT_NAME() AS organizaton_account_name;

Conclusión

En esta primera parte de la serie de tres, usted exploró el desafío empresarial que enfrentan las organizaciones con entornos Snowflake ricos en datos e introdujo un flujo de trabajo de aprendizaje automático sin código. Creó una base de datos de Snowflake, cargó datos de muestra de detección de fraude y recuperó los detalles de conexión necesarios para los siguientes pasos.

En la Parte 2, conectará Amazon SageMaker Canvas con los datos de Snowflake, preparará y transformará el conjunto de datos utilizando herramientas visuales y creará un modelo de detección de fraude.

Referencias

Sobre los autores

Anu Kaggadasapura Nagaraja

Anu Kaggadasapura Nagaraja

Anu es arquitecto II de soluciones de atención médica y ciencias biológicas (HCLS) en AWS con más de seis años de experiencia especializándose en IA, IA generativa y aprendizaje automático. Ayuda a organizaciones de múltiples industrias a crear soluciones escalables basadas en la nube. Anu se centra en la innovación de la IA a través de plataformas de datos modernas, arquitecturas de IA agentes y tecnologías de nube emergentes. Fuera del trabajo, a Anu le gusta jugar al bádminton y hacer senderismo.

Aysha Siddiqui

Aysha Siddiqui

Aysha es arquitecta de soluciones en Amazon Web Services, donde se asocia con clientes empresariales para diseñar arquitecturas de nube escalables y resilientes. Le apasiona la IA/ML y la IA generativa, y se centra en ayudar a las organizaciones a trasladar estas cargas de trabajo de la experimentación a la producción. Fuera del trabajo, le gusta viajar y perfeccionar sus habilidades para preparar matcha.

Shruti Tambe

Shruti TambeShruti es arquitecta de soluciones en AWS, donde ayuda a los clientes de PYMES a crear y escalar sus productos en la nube. Trabaja con organizaciones en el diseño, la modernización y la adopción de la inteligencia artificial de la arquitectura de la nube para impulsar resultados comerciales significativos. En su tiempo libre, a Shruti le gusta hacer senderismo y correr.