Execute análises avançadas usando o Amazon Redshift ML - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Execute análises avançadas usando o Amazon Redshift ML

Criado por Po Hong (AWS) e Chyanna Antonio (AWS)

Ambiente: PoC ou piloto

Tecnologias: análise; machine learning e IA

Workload: todas as outras workloads

Serviços da AWS: Amazon Redshift; Amazon SageMaker

Resumo

Na nuvem da Amazon Web Services (AWS), você pode usar o machine learning do Amazon Redshift (Amazon Redshift ML) para realizar análises de ML em dados armazenados em um cluster do Amazon Redshift ou no Amazon Simple Storage Service (Amazon S3). O Amazon Redshift ML oferece suporte ao aprendizado supervisionado, que normalmente é usado para análises avançadas. Os casos de uso do Amazon Redshift ML incluem previsão de receita, detecção de fraudes em cartões de crédito e valor da vida útil do cliente (CLV, Customer Lifetime Value) ou previsões de rotatividade de clientes.

O Amazon Redshift ML facilita a criação, o treinamento e a implantação de modelos de Machine Learning usando comandos SQL padrões. O Amazon Redshift ML usa o Amazon SageMaker Autopilot para treinar e ajustar automaticamente os melhores modelos de ML para classificação ou regressão com base em seus dados, enquanto você mantém o controle e a visibilidade.

Todas as interações entre o Amazon Redshift, o Amazon S3 e a SageMaker Amazon são abstraídas e automatizadas. Depois que o modelo de ML é treinado e implantado, ele fica disponível como uma função definida pelo usuário (UDF) no Amazon Redshift e pode ser usado em consultas SQL.  

Esse padrão complementa o tutorial Criar, treinar e implantar modelos de ML no Amazon Redshift usando SQL com Amazon Redshift ML do blog da AWS e o tutorial Criar, treinar e implantar um modelo de ML com a SageMaker Amazon do Getting Started Resource Center.

Pré-requisitos e limitações

Pré-requisitos

  • Uma conta AWS ativa

  • Dados existentes em uma tabela do Amazon Redshift

Habilidades

  • Familiaridade com termos e conceitos usados pelo Amazon Redshift ML, incluindo machine learning , treinamento, e previsão. Para obter mais informações sobre isso, consulte Modelos de treinamento de ML na documentação do Amazon Machine Learning (Amazon ML).

  • Experiência com configuração de usuários, gerenciamento de acesso e sintaxe SQL padrão do Amazon Redshift. Para obter mais informações sobre isso, consulte Conceitos básicos do Amazon Redshift na documentação do Amazon Redshift.

  • Conhecimento e experiência com o Amazon S3 e o AWS Identity and Access Management (IAM). 

  • A experiência na execução de comandos na AWS Command Line Interface (AWS CLI) também é vantajosa, mas não obrigatória.

Limitações

  • O cluster do Amazon Redshift e o bucket do Amazon S3 devem estar na mesma região da Região da AWS.

  • A abordagem desse padrão oferece suporte apenas a modelos de aprendizado supervisionado, como regressão, classificação binária e classificação multiclasse. 

Arquitetura

O fluxo de trabalho mostra como o Amazon Redshift ML funciona SageMaker para criar, treinar e implantar um modelo de ML.

As etapas a seguir explicam como o Amazon Redshift ML funciona SageMaker para criar, treinar e implantar um modelo de ML: 

  1. O Amazon Redshift exporta dados de treinamento para um bucket do S3.

  2. SageMaker O piloto automático pré-processa automaticamente os dados de treinamento.

  3. Depois que a CREATE MODEL declaração é invocada, o Amazon Redshift ML SageMaker usa para treinamento.

  4. SageMaker O Autopilot pesquisa e recomenda o algoritmo de ML e os hiperparâmetros ideais que otimizam as métricas de avaliação.

  5. O Amazon Redshift ML registra a função de previsão como uma função SQL no cluster do Amazon Redshift.

  6. A função do modelo de ML pode ser usada em uma instrução do SQL. 

Pilha de tecnologia

  • Amazon Redshift

  • SageMaker

  • Amazon S3

Ferramentas

  • Amazon Redshift: o Amazon Redshift é um serviço de data warehousing em escala de petabytes e em nível empresarial totalmente gerenciado.

  • Amazon Redshift ML: o Amazon Redshift Machine Learning (Amazon Redshift ML) é um serviço robusto baseado em nuvem que ajuda analistas e cientistas de dados de todos os níveis de qualificação a usarem a tecnologia de Machine Learning.

  • Amazon S3: o Amazon Simple Storage Service (Amazon S3) serve como armazenamento para a internet. 

  • Amazon SageMaker — SageMaker é um serviço de ML totalmente gerenciado. 

  • Amazon SageMaker Autopilot — O SageMaker Autopilot é um conjunto de recursos que automatiza as principais tarefas de um processo automático de aprendizado de máquina (AutoML).

Código

Você pode criar um modelo de ML supervisionado no Amazon Redshift usando o seguinte código:

“CREATE MODEL customer_churn_auto_model FROM (SELECT state, account_length, area_code, total_charge/account_length AS average_daily_spend, cust_serv_calls/account_length AS average_daily_cases, churn FROM customer_activity WHERE record_date < '2020-01-01' ) TARGET churn FUNCTION ml_fn_customer_churn_auto IAM_ROLE 'arn:aws:iam::XXXXXXXXXXXX:role/Redshift-ML' SETTINGS ( S3_BUCKET 'your-bucket' );”)

Observação: o estado SELECT pode se referir às tabelas regulares do Amazon Redshift, às tabelas externas do Amazon Redshift Spectrum ou a ambas.

Épicos

TarefaDescriçãoHabilidades necessárias

Prepare um conjunto de dados de treinamento e teste.

Faça login no AWS Management Console e abra o SageMaker console da Amazon. Siga as instruções do tutorial Criar, treinar e implantar um modelo de machine learning para criar um arquivo.csv ou Apache Parquet que tenha uma coluna de rótulo(treinamento supervisionado) e nenhum cabeçalho. 

Observação: recomendamos que você misture e divida o conjunto de dados brutos em um conjunto de treinamento para o treinamento do modelo (70 por cento) e um conjunto de testes para a avaliação da performance do modelo (30 por cento).

Cientista de dados
TarefaDescriçãoHabilidades necessárias

Crie e configure um cluster do Amazon Redshift.

No console do Amazon Redshift, crie um cluster de acordo com os requisitos. Para obter mais informações sobre isso, consulte Criar um cluster na documentação do Amazon Redshift.  

Importante: Novos clusters do Amazon Redshift devem ser criados com a trilha de manutenção SQL_PREVIEW. Para obter mais informações, consulte Escolher trilhas de manutenção do cluster na documentação do Amazon Redshift.

DBA, Arquiteto de nuvem

Crie um bucket do S3 para armazenar dados de treinamento e artefatos do modelo.

No console do Amazon S3, crie um bucket do S3 para os dados de treinamento e teste. Para obter mais informações sobre como criar um bucket do S3, consulte Criar um bucket do Amazon S3 do Início rápido do AWS. 

Importante: Certifique-se de que o cluster do Amazon Redshift e o bucket do S3 estejam na mesma Região. 

DBA, Arquiteto de nuvem

Crie e anexe uma política do IAM ao cluster do Amazon Redshift.

Crie uma política do IAM para permitir que o cluster do Amazon Redshift acesse SageMaker o Amazon S3. Para obter instruções e etapas, consulte Configuração de cluster para usar o Amazon Redshift ML na documentação do Amazon Redshift.

DBA, Arquiteto de nuvem

Permita que usuários e grupos do Amazon Redshift acessem esquemas e tabelas.

Conceda permissões para permitir que usuários e grupos no Amazon Redshift acessem esquemas e tabelas internos e externos. Para ver as etapas e instruções, consulte Gerenciamento de permissões e propriedade na documentação do Amazon Redshift.

DBA
TarefaDescriçãoHabilidades necessárias

Crie e treine o modelo de ML no Amazon Redshift.

Crie e treine seu modelo de ML no Amazon Redshift ML. Para obter mais informações, consulte a declaração CREATE MODEL na documentação do Amazon Redshift.

Desenvolvedor, Cientista de dados
TarefaDescriçãoHabilidades necessárias

Faça inferência usando a função de modelo de ML gerada.

Para obter mais informações sobre como realizar inferências usando a função de modelo de ML gerada, consulte Previsões na documentação do Amazon Redshift.

Cientista de dados, usuário de inteligência de negócios

Recursos relacionados

Prepare um conjunto de dados de treinamento e teste

Prepare e configure a pilha de tecnologia

Crie e treine o modelo de ML no Amazon Redshift

Execute inferência e previsão em lote no Amazon Redshift

Outros recursos