Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Preparar dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler

As equipes de ciência de dados e engenharia de dados passam uma parte significativa de seu tempo na fase de preparação de dados de um ciclo de vida de aprendizado de máquina (ML) executando etapas de seleção, limpeza e transformação de dados. É uma etapa necessária e importante de qualquer fluxo de trabalho de ML para gerar insights e previsões significativas, porque dados ruins ou de baixa qualidade reduzem muito a relevância dos insights derivados.

As equipes de engenharia de dados são tradicionalmente responsáveis ​​pela ingestão, consolidação e transformação de dados brutos para consumo downstream. Os cientistas de dados geralmente precisam fazer processamento adicional nos dados para casos de uso de ML específicos de domínio, como linguagem natural e séries temporais. Por exemplo, determinados algoritmos de ML podem ser sensíveis a valores ausentes, recursos esparsos ou valores discrepantes e requerem consideração especial. Mesmo nos casos em que o conjunto de dados está em boa forma, os cientistas de dados podem querer transformar as distribuições de recursos ou criar novos recursos para maximizar os insights obtidos dos modelos. Para atingir esses objetivos, os cientistas de dados precisam contar com equipes de engenharia de dados para acomodar as alterações solicitadas, resultando em dependência e atraso no processo de desenvolvimento do modelo. Alternativamente, as equipes de ciência de dados podem optar por realizar a preparação de dados e engenharia de recursos internamente usando vários paradigmas de programação. No entanto, requer um investimento de tempo e esforço na instalação e configuração de bibliotecas e frameworks, o que não é o ideal, pois esse tempo pode ser melhor gasto otimizando o desempenho do modelo.

Gerenciador de dados do Amazon SageMaker simplifica o processo de preparação de dados e engenharia de recursos, reduzindo o tempo necessário para agregar e preparar dados para ML de semanas para minutos, fornecendo uma única interface visual para que os cientistas de dados selecionem, limpem e explorem seus conjuntos de dados. O Data Wrangler oferece mais de 300 transformações de dados integradas para ajudar a normalizar, transformar e combinar recursos sem escrever nenhum código. Você pode importar dados de várias fontes de dados, como Serviço de armazenamento simples Amazon (Amazon S3), Amazona atena, Amazon RedShift e Floco de neve. Agora você também pode usar Bancos de dados como fonte de dados no Data Wrangler para preparar facilmente os dados para ML.

A Databricks Lakehouse Platform combina os melhores elementos de data lakes e data warehouses para fornecer confiabilidade, forte governança e desempenho de data warehouses com abertura, flexibilidade e suporte a aprendizado de máquina de data lakes. Com o Databricks como fonte de dados para o Data Wrangler, agora você pode se conectar de forma rápida e fácil ao Databricks, consultar dados armazenados no Databricks de forma interativa usando SQL e visualizar dados antes de importar. Além disso, você pode unir seus dados em Databricks com dados armazenados no Amazon S3 e dados consultados por meio do Amazon Athena, Amazon Redshift e Snowflake para criar o conjunto de dados certo para seu caso de uso de ML.

Nesta postagem, transformamos o conjunto de dados Lending Club Loan usando o Amazon SageMaker Data Wrangler para uso no treinamento do modelo de ML.

Visão geral da solução

O diagrama a seguir ilustra nossa arquitetura de solução.

Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

O conjunto de dados Lending Club Loan contém dados completos de empréstimos para todos os empréstimos emitidos até 2007–2011, incluindo o status atual do empréstimo e as informações de pagamento mais recentes. Possui 39,717 linhas, 22 colunas de recursos e 3 rótulos de destino.

Para transformar nossos dados usando o Data Wrangler, concluímos as seguintes etapas de alto nível:

  1. Baixe e divida o conjunto de dados.
  2. Crie um fluxo do Data Wrangler.
  3. Importe dados do Databricks para o Data Wrangler.
  4. Importe dados do Amazon S3 para o Data Wrangler.
  5. Junte os dados.
  6. Aplicar transformações.
  7. Exporte o conjunto de dados.

Pré-requisitos

A postagem pressupõe que você tenha um cluster Databricks em execução. Se seu cluster estiver sendo executado na AWS, verifique se você tem o seguinte configurado:

Configuração de databricks

Siga-nos Acesso seguro a buckets do S3 usando perfis de instância para o necessário Gerenciamento de acesso e identidade da AWS (IAM), política de bucket do S3 e configuração de cluster do Databricks. Certifique-se de que o cluster Databricks esteja configurado com o Instance Profile, selecionado nas opções avançadas, para acessar o bucket S3 desejado.

Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Depois que o cluster do Databricks estiver em execução com o acesso necessário ao Amazon S3, você poderá buscar o JDBC URL do seu cluster Databricks para ser usado pelo Data Wrangler para se conectar a ele.

Buscar o URL JDBC

Para buscar a URL JDBC, conclua as etapas a seguir:

  1. Em Databricks, navegue até a interface do usuário de clusters.
  2. Escolha seu cluster.
  3. No Configuração guia, escolha opções avançadas.
  4. Debaixo opções avançadas, escolha o JDBC/ODBC aba.
  5. Copie a URL JDBC.
    Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Certifique-se de substituir seu acesso pessoal token no URL.

Configuração do Data Wrangler

Esta etapa pressupõe que você tenha acesso ao Amazon SageMaker, uma instância do Estúdio Amazon SageMakere um usuário do Studio.

Para permitir o acesso à conexão JDBC do Databricks do Data Wrangler, o usuário do Studio requer a seguinte permissão:

  • secretsmanager:PutResourcePolicy

Siga as etapas abaixo para atualizar a função de execução do IAM atribuída ao usuário do Studio com a permissão acima, como um usuário administrativo do IAM.

  1. No console IAM, escolha Setores no painel de navegação.
  2. Escolha a função atribuída ao seu usuário do Studio.
  3. Escolha Adicionar permissões.
  4. Escolha Criar política em linha.
  5. Para Serviço, escolha Gerente de segredos.
  6. On Opções, escolha Nível de acesso.
  7. Escolha Gerenciamento de permissões.
  8. Escolha PutResourcePolicy.
  9. Escolha Recursos, escolha Específico e selecione Qualquer nesta conta.
    Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Baixe e divida o conjunto de dados

Você pode começar por baixando o conjunto de dados. Para fins de demonstração, dividimos o conjunto de dados copiando as colunas de recursos id, emp_title, emp_length, home_owner e annual_inc para criar um segundo empréstimos_2.csv Arquivo. Removemos as colunas acima mencionadas do arquivo de empréstimos original, exceto as id coluna e renomeie o arquivo original para empréstimos_1.csv. Carregue o empréstimos_1.csv arquivo para Bancos de dados para criar uma tabela loans_1 e empréstimos_2.csv em um bucket S3.

Criar um fluxo do Data Wrangler

Para obter informações sobre os pré-requisitos do Data Wrangler, consulte Introdução ao Data Wrangler.

Vamos começar criando um novo fluxo de dados.

  1. No console do Studio, no Envie o menu, escolha Novo.
  2. Escolha Fluxo do Data Wrangler.
  3. Renomeie o fluxo conforme desejado.
    Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Como alternativa, você pode criar um novo fluxo de dados do Launcher.

  • No console do Studio, escolha Estúdio Amazon SageMaker no painel de navegação.
  • Escolha Novo fluxo de dados.
    Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

A criação de um novo fluxo pode levar alguns minutos para ser concluída. Após a criação do fluxo, você vê o Datas de importação Disputas de Comerciais.

Importar dados do Databricks para o Data Wrangler

Em seguida, configuramos o Databricks (JDBC) como uma fonte de dados no Data Wrangler. Para importar dados de Databricks, primeiro precisamos adicionar Databricks como fonte de dados.

  1. No Datas de importação guia do fluxo do Data Wrangler, escolha Adicionar fonte de dados.
  2. No menu suspenso, escolha Blocos de dados (JDBC).
    Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

No Importar dados do Databricks página, você insere os detalhes do cluster.

  1. Escolha Nome do conjunto de dados, insira um nome que deseja usar no arquivo de fluxo.
  2. Escolha Dirigir, escolha o motorista com.simba.spark.jdbc.Driver.
  3. Escolha URL JDBC, insira o URL do cluster Databricks obtido anteriormente.

O URL deve ser semelhante ao seguinte formato jdbc:spark://<serve- hostname>:443/default;transportMode=http;ssl=1;httpPath=<http- path>;AuthMech=3;UID=token;PWD=<personal-access-token>.

  1. No editor de consultas SQL, especifique a seguinte instrução SQL SELECT:
    select * from loans_1

Se você escolheu um nome de tabela diferente ao fazer upload de dados para Databricks, substitua empréstimos_1 na consulta SQL acima de acordo.

No Consulta SQL seção no Data Wrangler, você pode consultar qualquer tabela conectada ao banco de dados JDBC Databricks. O pré-selecionado Habilitar amostragem A configuração recupera as primeiras 50,000 linhas de seu conjunto de dados por padrão. Dependendo do tamanho do conjunto de dados, desmarcar Habilitar amostragem pode resultar em maior tempo de importação.

  1. Escolha Execute.

A execução da consulta fornece uma visualização do conjunto de dados do Databricks diretamente no Data Wrangler.
Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

  1. Escolha importação.
    Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

O Data Wrangler oferece a flexibilidade de configurar várias conexões simultâneas para um cluster Databricks ou vários clusters, se necessário, permitindo análise e preparação em conjuntos de dados combinados.

Importe os dados do Amazon S3 para o Data Wrangler

Em seguida, vamos importar o loan_2.csv arquivo do Amazon S3.

  1. Na guia Importar, escolha Amazon S3 como a fonte de dados.
    Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
  2. Navegue até o bucket do S3 para o loan_2.csv arquivo.

Ao selecionar o arquivo CSV, você pode visualizar os dados.

  1. No Adicionar ao carrinho painel, escolha Configuração avançada para ter a certeza Habilitar amostragem é selecionado e VÍRGULA é escolhido para Delimitador.
  2. Escolha importação.
    Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Após loans_2.csv conjunto de dados é importado com sucesso, a interface de fluxo de dados exibe as fontes de dados Databricks JDBC e Amazon S3.

Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Junte os dados

Agora que importamos dados do Databricks e do Amazon S3, vamos unir os conjuntos de dados usando uma coluna de identificador exclusivo comum.

  1. No Fluxo de dados guia, para Tipos de dados, escolha o sinal de mais para loans_1.
  2. Escolha Cadastrar.
    Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
  3. Escolha o loans_2.csv arquivo como o Certo conjunto de dados.
  4. Escolha configurar para configurar os critérios de adesão.
    Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
  5. Escolha Nome, digite um nome para a junção.
  6. Escolha Tipo de junção, escolha Interior para este post.
  7. Escolha o id coluna para se juntar.
  8. Escolha Aplicar para visualizar o conjunto de dados unido.
  9. Escolha Adicionar para adicioná-lo ao fluxo de dados.
    Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Aplicar transformações

O Data Wrangler vem com mais de 300 transformações integradas, que não requerem codificação. Vamos usar transformações internas para preparar o conjunto de dados.

Coluna de queda

Primeiro, descartamos a coluna de ID redundante.

  1. No nó unido, escolha o sinal de mais.
  2. Escolha Adicionar transformação.
    Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
  3. Debaixo Transforma, escolher + Adicionar etapa.
  4. Escolha Gerenciar colunas.
  5. Escolha Transformar, escolha Coluna de queda.
  6. Escolha Colunas para soltar, escolha a coluna id_0.
  7. Escolha visualização.
    Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
  8. Escolha Adicionar.

String de formato

Vamos aplicar a formatação de string para remover o símbolo de porcentagem do int_rate e revol_util colunas.

  1. No Data guia, sob Transformações, escolha + Adicionar etapa.
    Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
  2. Escolha String de formato.
  3. Escolha Transformar, escolha Tira os caracteres da direita.

O Data Wrangler permite que você aplique a transformação escolhida em várias colunas simultaneamente.

  1. Escolha Colunas de entrada, escolha int_rate e revol_util.
  2. Escolha Caracteres para remover, entrar %.
  3. Escolha visualização.
    Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
  4. Escolha Adicionar.

Texto em destaque

Vamos agora vetorizar verification_status, uma coluna de recurso de texto. Convertemos a coluna de texto em vetores de frequência de documento inverso de frequência de termo (TF-IDF) aplicando o vetorizador de contagem e um tokenizador padrão conforme descrito abaixo. O Data Wrangler também oferece a opção de trazer seu próprio tokenizer, se desejado.

  1. Debaixo transformadores, escolha + Adicionar etapa.
  2. Escolha Texto em destaque.
  3. Escolha Transformar, escolha Vetorizar.
  4. Escolha Colunas de entrada, escolha verification_status.
  5. Escolha visualização.
    Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
  6. Escolha Adicionar.

Exportar o conjunto de dados

Depois de aplicarmos várias transformações em diferentes tipos de colunas, incluindo texto, categórica e numérica, estamos prontos para usar o conjunto de dados transformado para treinamento do modelo de ML. A última etapa é exportar o conjunto de dados transformado para o Amazon S3. No Data Wrangler, você tem várias opções para escolher para consumo downstream das transformações:

Neste post, aproveitamos o Exportar dados opção no Transformar view para exportar o conjunto de dados transformado diretamente para o Amazon S3.

  1. Escolha Exportar dados.
    Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
  2. Escolha Localização S3, escolha Procurar e escolha seu bucket do S3.
  3. Escolha Exportar dados.
    Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

limpar

Se o seu trabalho com o Data Wrangler estiver completo, desligue sua instância do Data Wrangler para evitar incorrer em taxas adicionais.

Conclusão

Nesta postagem, abordamos como você pode configurar e conectar o Databricks de maneira rápida e fácil como uma fonte de dados no Data Wrangler, consultar dados armazenados no Databricks de forma interativa usando SQL e visualizar dados antes de importar. Além disso, analisamos como você pode unir seus dados no Databricks com dados armazenados no Amazon S3. Em seguida, aplicamos transformações de dados no conjunto de dados combinado para criar um pipeline de preparação de dados. Para explorar mais recursos de análise do Data Wrangler, incluindo vazamento de destino e geração de relatórios de viés, consulte a seguinte postagem do blog Acelere a preparação de dados usando o Amazon SageMaker Data Wrangler para previsão de readmissão de pacientes diabéticos.

Para começar a usar o Data Wrangler, consulte Prepare dados de ML com o Amazon SageMaker Data Wranglere veja as informações mais recentes sobre o Data Wrangler página do produto FlexSim.


Sobre os autores

Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Banheiros Roop é Arquiteto de Soluções na AWS com foco em IA/ML. Ele é apaixonado por ajudar os clientes a inovar e alcançar seus objetivos de negócios usando Inteligência Artificial e Machine Learning. Em seu tempo livre, Roop gosta de ler e fazer caminhadas.

Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Igor Alekseev é arquiteto de soluções de parceiro da AWS em dados e análises. Igor trabalha com parceiros estratégicos ajudando-os a criar arquiteturas complexas e otimizadas para AWS. Antes de ingressar na AWS, como arquiteto de dados/soluções, ele implementou muitos projetos em Big Data, incluindo vários data lakes no ecossistema Hadoop. Como engenheiro de dados, ele esteve envolvido na aplicação de IA/ML para detecção de fraudes e automação de escritório. Os projetos de Igor estavam em uma variedade de setores, incluindo comunicações, finanças, segurança pública, manufatura e saúde. Anteriormente, Igor trabalhou como engenheiro/líder de tecnologia de pilha completa.

Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Huong Nguyen é gerente sênior de produto na AWS. Ela está liderando a experiência do usuário para o SageMaker Studio. Ela tem 13 anos de experiência na criação de produtos voltados para o cliente e orientados por dados para espaços corporativos e de consumo. Em seu tempo livre, ela gosta de ler, estar na natureza e passar o tempo com sua família.

Prepare dados do Databricks para machine learning usando o Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Henry Wang é engenheiro de desenvolvimento de software na AWS. Recentemente, ele se juntou à equipe do Data Wrangler depois de se formar na UC Davis. Ele tem interesse em ciência de dados e aprendizado de máquina e faz impressão 3D como hobby.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS