Contexto da série
Esta é a segunda parte de uma série de três artigos publicada pela AWS sobre como montar um fluxo completo de Aprendizado de Máquina (ML) sem escrever código. A primeira parte tratou da configuração do ambiente Snowflake e da infraestrutura necessária. Agora, a AWS demonstra como usar o Amazon SageMaker Canvas para preparar os dados e treinar um modelo de detecção de fraudes — do começo ao fim, sem programação.
O que é o Amazon SageMaker Canvas?
O Amazon SageMaker Canvas é um serviço visual de ML que permite que analistas de negócios e especialistas de domínio construam modelos preditivos e gerem previsões sem precisar escrever código. A proposta é democratizar o acesso ao ML dentro das organizações, mantendo controles de segurança e governança corporativa. A interface intuitiva cobre todo o ciclo: preparação de dados, treinamento de modelos e geração de previsões.
Pré-requisitos
Antes de começar, é necessário ter concluído a primeira parte da série, que configura o ambiente Snowflake. As credenciais e detalhes de conexão da conta Snowflake obtidos nessa etapa são indispensáveis para seguir adiante.
Configurando o Amazon SageMaker Canvas
O primeiro passo é acessar o Console de Gerenciamento da AWS (AWS Management Console) e localizar o Amazon SageMaker Canvas. Em seguida, é preciso criar um domínio — que funciona como a unidade organizacional base do ambiente SageMaker, agrupando perfis de usuário, configurações de armazenamento e controles de acesso.
Para uma configuração rápida, a AWS recomenda a opção Configuração para usuário único (Quick setup), que cria automaticamente o domínio e o perfil de usuário. Após a criação, basta selecionar o Canvas no painel lateral, escolher o domínio e o perfil criados, e aguardar de 3 a 5 minutos para o ambiente ficar disponível.
Preparação de dados com o Data Wrangler
O Amazon SageMaker Data Wrangler é a ferramenta integrada ao Canvas responsável por simplificar a preparação de dados para fluxos de ML. Com transformações visuais e uma interface intuitiva, ele reduz significativamente o tempo gasto nessa etapa — que costuma ser uma das mais trabalhosas em qualquer projeto de ML.
A integração direta com o Snowflake é um ponto de destaque: elimina a necessidade de exportar dados manualmente, garantindo que o trabalho seja feito sempre com os dados mais atualizados do data warehouse.
A. Conexão com a fonte de dados
Para conectar o Canvas ao Snowflake, o caminho é: acessar o Data Wrangler pelo painel de navegação, escolher a opção de importar dados tabulares e selecionar o Snowflake como tipo de conexão. No formulário de conexão, são fornecidos o nome da conexão, o ID da conta Snowflake (no formato organização + hífen + ID da conta), o nome de usuário e a senha.
Com a conexão estabelecida, a AWS orienta a executar uma consulta SQL para criar limiares de outliers por cartão e categoria — uma técnica para identificar padrões de gastos incomuns. A lógica calcula a média mais três desvios padrão dos valores de transação, agrupados por número de cartão e categoria:
select CC_NUM, CATEGORY,
avg(AMT) + (3* stddev_pop(AMT)) as amt_outlier,
case when sum(is_fraud)>1 then 1 else 0 end as fraud_history
from FRAUD.PUBLIC.FRAUD_TABLE
where trans_date_trans_time<'2020-12-01'
group by CC_NUM, CATEGORY
Após executar a consulta e visualizar os resultados, os dados são importados para o workspace do Canvas.
B. Enriquecimento dos dados
Na sequência, uma segunda fonte de dados é adicionada ao fluxo. Essa etapa incorpora características temporais (hora do dia, dia da semana), informações demográficas (faixa etária) e limiares de outlier por comerciante — todos sinais relevantes para detecção de fraudes. A consulta SQL utilizada é:
select t.MERCHANT, t.CC_NUM,
'H'||extract(hour from t.TRANS_DATE_TRANS_TIME) as TRANS_HOUR,
'D'||extract(dow from t.TRANS_DATE_TRANS_TIME) as TRANS_DOW,
t.state, t.gender,
'A'||FLOOR(DATEDIFF(YEAR, DATEADD(DAY, 1, CAST(t.dob AS DATE)), CAST(t.TRANS_DATE_TRANS_TIME AS DATE)) / 5) * 5 AS age_category,
t.CATEGORY, t.IS_FRAUD, t.AMT,
m.merchant_amt_outlier, m.merchant_fraud_history
from FRAUD.PUBLIC.FRAUD_TABLE t
left join (
select MERCHANT,
avg(AMT) + (3* stddev_pop(AMT)) as merchant_amt_outlier,
case when sum(is_fraud)>1 then 1 else 0 end as merchant_fraud_history
from FRAUD.PUBLIC.FRAUD_TABLE
where trans_date_trans_time<'2020-12-01'
group by MERCHANT
) m on t.MERCHANT = m.MERCHANT
where t.trans_date_trans_time<'2020-12-01'
C. Transformação dos dados
Com as duas fontes importadas, o próximo passo é combiná-las. No Data Wrangler, o fluxo de dados (Data flow) exibe as duas origens Snowflake. A junção é feita com um Left outer join usando a coluna CATEGORY como chave de relacionamento.
Após a junção, duas novas colunas são criadas usando fórmulas personalizadas com expressões Spark SQL:
- CC_FLAG: indica se o valor da transação supera o limiar de outlier do cartão:
CASE WHEN AMT > AMT_OUTLIER THEN 1 ELSE 0 END - MERCHANT_AMT_FLAG: indica se o valor supera o limiar de outlier do comerciante:
CASE WHEN AMT > MERCHANT_AMT_OUTLIER THEN 1 ELSE 0 END
Por fim, colunas sensíveis ou desnecessárias são removidas do dataset para garantir que o modelo não seja treinado com informações que possam causar vazamento de dados ou comprometer a privacidade. As colunas eliminadas são: CC_NUM, AMT_OUTLIER, MERCHANT e MERCHANT_AMT_OUTLIER.
D. Análise de qualidade e exportação para o modelo
Com a preparação concluída, o Canvas permite executar um relatório de qualidade e insights dos dados. Para isso, basta acessar a aba de Análises, selecionar o tipo "Data Quality and Insights Report", definir IS_FRAUD como coluna-alvo e escolher o tipo de problema como Classificação.
O relatório gerado em poucos minutos inclui um resumo dos dados, análise de features, linhas duplicadas, amostras anômalas e, na seção "Quick model", métricas de acurácia e uma matriz de confusão. A seção de resumo de features mostra a importância preditiva de cada variável — útil para decidir quais colunas manter ou descartar.
Quando a preparação estiver satisfatória, o dataset é exportado para o ambiente de construção de modelos diretamente pelo Data flow, escolhendo a opção "Create model" no nó da última transformação.
Construção do modelo de detecção de fraudes
Na tela de construção (Build), o processo é direto: seleciona-se IS_FRAUD como coluna-alvo, configura-se o tipo de modelo como "2-category" (classificação binária) e escolhe-se o método de treinamento Ensemble com o algoritmo XGBoost — uma combinação que equilibra acurácia e eficiência computacional.
As colunas FRAUD_HISTORY e MERCHANT_FRAUD_HISTORY são desmarcadas antes de iniciar o treinamento padrão (Standard build). O processo leva aproximadamente 15 a 30 minutos para ser concluído.
Após o treinamento, a aba Analyze exibe quais features tiveram maior impacto nas previsões, além de gráficos de dispersão e classificações de fraude. A opção Advanced Metrics oferece uma visão mais aprofundada da performance do modelo.
Gerando previsões
Com o modelo treinado, o próximo passo é aplicá-lo a um conjunto de dados inédito. A AWS disponibiliza um arquivo CSV de exemplo para previsões. Na aba Predict do Canvas, o usuário carrega esse arquivo, cria um dataset e aciona a geração de previsões. O processo leva alguns minutos; quando o status muda para "Ready", os resultados estão disponíveis.
Enviando resultados para o Amazon QuickSight
Para visualizar os resultados de forma interativa no Amazon QuickSight, alguns pré-requisitos precisam ser atendidos. A AWS detalha esses requisitos na documentação oficial, mas em resumo são:
- Alinhamento de região: a conta do QuickSight deve estar na mesma região AWS do domínio SageMaker Canvas.
- Permissões de Gerenciamento de Identidade e Acesso (IAM): a função de execução associada ao domínio SageMaker (criada durante a configuração do domínio) precisa de permissões adicionais para enviar previsões ao QuickSight. A política inline necessária está descrita na documentação da AWS.
- Acesso ao bucket S3: o QuickSight precisa de acesso ao bucket S3 onde o Canvas armazena as previsões, nomeado no formato
sagemaker-{região}-{id_da_conta}. - Usuários do QuickSight: os usuários que receberão o dashboard precisam ter perfil de Author ou Admin no QuickSight. Mais detalhes em Gerenciamento de acesso de usuários.
Com os pré-requisitos atendidos, basta selecionar o job de previsão no Canvas e usar a opção "Send to Amazon QuickSight", adicionando os usuários que terão acesso ao dashboard.
Conclusão
Esta segunda parte da série demonstra que é possível construir um pipeline completo de ML — desde a conexão com um data warehouse até o treinamento de um modelo de detecção de fraudes — sem escrever uma linha de código de ML. O Amazon SageMaker Canvas, integrado ao Data Wrangler e ao Snowflake, oferece um ambiente visual que coloca analistas de negócios e especialistas de domínio no controle do processo.
Com o modelo treinado e as previsões geradas, o terreno está preparado para a terceira parte da série, que mostra como transformar esses insights em dashboards interativos no Amazon QuickSight.
Referências da série
Fonte
Build a no-code ML workflow with Snowflake, Amazon SageMaker Canvas and Amazon Quick – Part 2: Data preparation and model building with Amazon SageMaker Canvas (https://aws.amazon.com/blogs/machine-learning/build-a-no-code-ml-workflow-with-snowflake-amazon-sagemaker-canvas-and-amazon-quick-part-2-data-preparation-and-model-building-with-amazon-sagemaker-canvas/)
Leave a Reply