Alura > Cursos de Inteligência Artificial > Cursos de IA para Dados > Conteúdos de IA para Dados > Primeiras aulas do curso H2O Flow: otimizando a produção de modelos ML

H2O Flow: otimizando a produção de modelos ML

Começando no H2O Flow - Apresentação

Já pensou em utilizar uma ferramenta que automatiza todo o processo de construção, treinamento e até mesmo validação de modelos de machine learning?

Todas essas etapas são feitas de maneira rápida, eficiente e, acredite, sem necessidade de construção de códigos. Então, venha conosco aprender a utilizar o H2O Flow.

Eu sou a Mirla Costa, instrutora aqui na Alura, e vou te acompanhar ao longo deste curso!

Audiodescrição: Mirla se descreve como uma pessoa branca de cabelo cacheado e preto amarrado em um coque, olhos pretos e sobrancelhas pretas. Ela usa óculos de grau de armação redonda preta e veste uma camiseta verde. Ao fundo, uma parede iluminada em gradiente de azul e rosa, com duas prateleiras com livros e enfeites, uma à direita e outra à esquerda.

O que vamos aprender?

Durante o projeto, atuaremos como cientistas de dados no banco Bytebank, um banco online. Precisamos desenvolver rapidamente um modelo de machine learning capaz de detectar fraudes, pois essa é uma demanda urgente.

Para fazer isso, vamos aprender a utilizar o H2O Flow, uma ferramenta criada pela H2O.ai, para criar, treinar e desenvolver modelos de machine learning de forma automática.

Pré-requisitos

Para que você aproveite ao máximo este curso, recomendamos que tenha conhecimento em Python, com foco na biblioteca Pandas, para conseguirmos preparar os dados.

Além disso, é importante ter, pelo menos, um conhecimento básico de machine learning com foco em algoritmos de classificação.

Tudo pronto para começar?

Começando no H2O Flow - Ajustando os dados

Trabalhamos na equipe de dados de um banco online chamado Bytebank. Recentemente, foram identificadas diversas reclamações de fraudes entre transações financeiras no nosso banco.

Para evitar perder clientes e lucro financeiro, nossa liderança solicitou que criássemos um novo modelo de machine learning, baseado em árvores, capaz de detectar efetivamente essas fraudes.

Simultaneamente a essa demanda, foi pedido que desenvolvêssemos esse modelo com uma certa urgência, devido aos prejuízos já sofridos pelo banco. Então, recebemos os dados da equipe e esses dados devem ser utilizados para treinar e avaliar o modelo que vamos construir.

Você pode fazer o download desses dados em um arquivo CSV nas atividades deste curso.

Ajustando os dados

Precisamos entender como esses dados estão estruturados antes de enviá-los para um modelo de machine learning, pois nem todo formato de dado pode ser enviado para um modelo.

Para ter essa certeza, vamos verificar os dados no ambiente Python que é o Google Colab, ferramenta que utilizaremos para essa verificação.

Fazendo o upload do arquivo

Com o Google Colab aberto, vamos nos preparar para fazer o upload do arquivo. Para isso, na barra lateral esquerda, selecionamos o botão "Arquivos", que é um ícone de pasta.

No nosso caso, o ambiente já está conectado. Caso o seu ainda não esteja, conecte-o antes de inserir o arquivo. Podemos fazer o upload do arquivo CSV que acabamos de receber da equipe de dados.

Para fazer isso, clicamos no primeiro botão, intitulado "Fazer upload para o armazenamento da sessão" e representado por um papel com uma seta para cima. Após clicar nele, selecionamos o arquivo que vamos importar. No caso, é o arquivo data_fraude_banco.csv.

Finalizado o upload, fechamos a aba "Arquivos" e agora podemos utilizar a biblioteca Pandas do Python, que é muito eficaz para importar e trabalhar com os dados, principalmente em arquivos CSV.

Importando a biblioteca Pandas

Vamos importar essa biblioteca no Google Colab com o comando abaixo:

import pandas as pd

Importando os dados

Agora vamos importar nossos dados para um dataframe que vamos chamar de df, então, inserimos df = pd.read_csv(). Feito isso, vamos abrir novamente a aba "Arquivo".

À direita do arquivo data_fraude_banco.csv, vamos clicar nos três pontos e selecionar a opção "Copiar caminho". Depois, entre os parênteses do método read_csv(), colamos entre aspas simples o caminho do arquivo. Por fim, inserimos df na linha abaixo para visualizar esse dataframe.

df = pd.read_csv('/content/drive/MyDrive/Alura/data_fraude_banco.csv')
df

Visualização dos cinco primeiros registros da tabela. Para visualizá-la na íntegra, execute o comando na sua máquina.

#passovalorantigo_saldo_pessoa1novo_saldo_pessoa1antigo_saldo_pessoa2novo_saldo_pessoa2tipo_transacaofraude
01181.00181.000.00.000.00transferencia1
11181.00181.000.021182.000.00saque1
212806.002806.000.00.000.00transferencia1
312806.002806.000.026202.000.00saque1
4120128.0020128.000.00.000.00transferencia1

Conseguimos ter uma visualização resumida dos dados e observamos quais são as colunas do dataframe. Temos as colunas passo, valor, antigo_saldo_pessoa1, novo_saldo_pessoa1, antigo_saldo_pessoa2, novo_saldo_pessoa2, tipo_transacao, e fraude, sendo esta a coluna-alvo.

Para saber o que representa cada uma dessas colunas, deixamos o dicionário de dados na atividade desse curso. Recomendamos que você verifique!

Transformando os dados

Como cientistas de dados, sabemos que para os dados serem enviados para o modelo de machine learning, eles precisam estar estruturados em um formato tabular, onde cada linha representa uma amostra, uma observação, e cada coluna representa uma característica dessa observação.

Porém, também sabemos que dentro dessas características, é importante existirem valores numéricos, pois é assim que a máquina e, consequentemente, o modelo, vão entender esses dados, encontrar um padrão para eles, e assim por diante.

Identificamos nos nossos dados uma coluna chamada tipo_transacao, e nessa coluna, temos vários dados categóricos em formato de texto. Não podemos levar os dados dessa forma para o modelo, precisaremos transformá-los para o numérico. Uma técnica muito utilizada para isso é a OneHotEncoder, que vai transformar os dados textuais em dados numéricos.

Conseguimos fazer isso utilizando o método get_dummies(). Vamos aplicá-lo ao nosso dataframe. Então, inserimos df = pd.get_dummies(df). Na linha abaixo, vamos adicionar df para visualizar.

df = pd.get_dummies(df)
df

Visualização dos cinco primeiros registros da tabela. Para visualizá-la na íntegra, execute o comando na sua máquina.

#passovalorantigo_saldo_pessoa1novo_saldo_pessoa1antigo_saldo_pessoa2novo_saldo_pessoa2fraudetipo_transacao_debitotipo_transacao_depositotipo_transacao_pagamentotipo_transacao_saquetipo_transacao_transferencia
01181.00181.000.00.000.00100001
11181.00181.000.021182.000.00100010
212806.002806.000.00.000.00100001
312806.002806.000.026202.000.00100010
4120128.0020128.000.00.000.00100001

Agora, temos todas as colunas numéricas no dataframe. Essa é a única transformação que precisamos fazer no dataframe para poder utilizar os dados e aplicá-los no modelo de machine learning.

Transformando em CSV

O próximo passo é transformar o dataframe em um arquivo CSV para fazer o download dele. Em uma nova célula, vamos inserir df.to_csv(), método que vai permitir criar um novo arquivo CSV com base nesse dataframe. Entre parênteses, vamos colocar o nome do arquivo inicialmente, dados_fraude_numerico.csv.

Feito isso, inserimos uma vírgula e definimos o parâmetro index como False. Isso vai permitir que a coluna index do Pandas, que tem 0, 1, 2, 3 como índices das linhas, não se transforme em uma coluna.

df.to_csv('dados_fraude_numerico.csv', index=False)

Após executar essa célula com "Shift + Enter", abrimos novamente a aba "Arquivos" e já temos o novo arquivo CSV (dados_fraude_numerico.csv).

Para fazer o download, clicamos nos três pontos e selecionamos a opção "Fazer download". Vamos fazer esse download para aplicar um modelo de machine learning nele.

Conclusão

Nossa liderança nos informou que precisamos construir esse modelo com velocidade. Para isso, sugeriram utilizar uma ferramenta do H2O.ai.

Vamos conhecer essa ferramenta no próximo vídeo!

Começando no H2O Flow - Acessando a ferramenta

Devido à urgência da nossa demanda, a liderança sugeriu que utilizássemos uma ferramenta desenvolvida pela H2O.ai. Essa organização é renomada por criar ferramentas e produtos que aceleram a produtividade em projetos na área de ciência de dados, inclusive integrando inteligência artificial.

A sugestão foi utilizar o H2O Flow, uma interface da H2O.ai que facilita a construção, o treinamento, a validação e até a implantação de modelos de aprendizado de máquina.

Acessando a ferramenta

Para acessar essa ferramenta, precisamos primeiro baixá-la e instalá-la. Precisamos acessar o site que permite o download dessa interface.

Primeiro, vamos clicar no botão de download do H2O Flow, na aba "Download and Run". O arquivo vem em um formato compactado (.zip). Enquanto fazemos o download, precisamos verificar qual é a versão Java instalada na nossa máquina. O Java é necessário para executar essa interface.

Para verificar a versão do Java, vamos digitar cmd no prompt de comando do Windows e, em seguida, executar java -version no terminal.

java -version

Se o Java não estiver instalado, precisaremos fazer o download do Java, especificamente da versão 17, pré-requisito para usar o H2O Flow. Caso você utilize uma versão diferente, recomendamos atualizar.

Após o download do Java através do instalador no arquivo .exe, vamos extrair o arquivo .zip do H2O Flow. Dentro do arquivo extraído, vamos procurar o arquivo h2o.jar e copiar o caminho completo dele.

Com o caminho copiado, vamos voltar ao prompt de comando e navegar até o diretório do arquivo h2o.jar utilizando o comando cd seguido do caminho.

cd C:\Users\Mirla\Desktop\Bytebank - projeto de fraude\h2o-3.44.0.1

Em seguida, vamos executar o arquivo h2o.jar com o comando abaixo:

java -jar h2o.jar

Para acessar a interface do H2O Flow, precisamos acessar o endereço "http://localhost:54321" no navegador. A interface possui diversas abas e funções, que serão exploradas ao longo do curso.

Em resumo, temos uma aba lateral à direita onde são exibidas as saídas (outline), os flows que salvamos localmente, os clips onde salvamos códigos ou textos para inserir em células, e uma categoria "HELP" que traz documentações e explicações simples sobre o H2O Flow.

Também há um menu superior, composto pelas opções:

Outro ponto interessante é que conseguimos mudar o nome do flow. Vamos começar criando um novo flow que chamaremos de Fraude-banco. Para salvar o nome, clicamos no ícone de verificação à direita do campo.

Abaixo do título, temos diversos botões de ação que se referem às ações que encontramos no menu superior. Para salvar o flow, clicamos em "Flow" no menu superior e depois em "Save Flow".

Conclusão

Com a instalação do H2O Flow concluída, podemos iniciar nosso projeto!

Sobre o curso H2O Flow: otimizando a produção de modelos ML

O curso H2O Flow: otimizando a produção de modelos ML possui 100 minutos de vídeos, em um total de 44 atividades. Gostou? Conheça nossos outros cursos de IA para Dados em Inteligência Artificial, ou leia nossos artigos de Inteligência Artificial.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda IA para Dados acessando integralmente esse e outros cursos, comece hoje!

Plus

De
R$ 1.800
12X
R$109
à vista R$1.308
  • Acesso a TODOS os cursos da Alura

    Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

Matricule-se

Pro

De
R$ 2.400
12X
R$149
à vista R$1.788
  • Acesso a TODOS os cursos da Alura

    Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Luri, a inteligência artificial da Alura

    Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com Luri até 100 mensagens por semana.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

Matricule-se
Conheça os Planos para Empresas

Acesso completo
durante 1 ano

Estude 24h/dia
onde e quando quiser

Novos cursos
todas as semanas