DEV Community

Marshal Mori Cavalheiro
Marshal Mori Cavalheiro

Posted on

Aprenda a Dividir em Treinamento e Teste os Dados de um Dataset Utilizando Python

Aprenda a Dividir em Treinamento e Teste os Dados de um Dataset Utilizando Python

Resumo

Este artigo ensina como dividir um dataset em dados de treinamento e teste e salvar essa divisão em um arquivo .pkl, essencial para treinar e avaliar modelos de Machine Learning de forma organizada. O processo usa a biblioteca sklearn e pickle, permitindo reutilizar os dados processados em projetos futuros. Este artigo é o próximo passo de uma série de tutoriais sobre pré-processamento de dados.

Principais Tópicos Abordados:

  • Preparação do notebook no Google Colab
  • Divisão do dataset em dados de treinamento e teste
  • Explicação detalhada do código Python para divisão
  • Salvando a divisão em um arquivo .pkl usando pickle
  • Vantagens de salvar dados processados para uso futuro

Importante: Para seguir este artigo, leia primeiro os artigos abaixo na sequência sugerida. Cada artigo fornece a base necessária para compreender o próximo, garantindo que você entenda todo o fluxo de trabalho até este ponto.

Artigo 1: Aplicação de Machine Learning: Um Guia para Iniciar como Modelos em Classificação

Artigo 2: Explorando a Classificação em Machine Learning: Tipos de Variáveis

Artigo 3: Explorando o Google Colab: Seu Aliado para Codificar Modelos de Machine Learning

Artigo 4: Explorando Dados com Python no Google Colab: Um Guia Prático Utilizando o Dataset adult.csv

Artigo 5: Desmistificando a Divisão de Previsores e Classe e o Tratamento de Atributos Categóricos com LabelEncoder e OneHotEncoder

Artigo 6: Escalonamento de Dados: A Base para Modelos Eficientes

Introdução

Neste artigo, você aprenderá a fazer a divisão de um dataset em treinamento e teste, além de salvar essa divisão em um arquivo do tipo .pkl. Esse processo é essencial para garantir uma separação limpa entre os dados que serão usados para treinar o modelo e os que serão usados para avaliar seu desempenho.

Iniciando o processo no Google Colab

Antes de qualquer coisa, acesse este link do notebook e selecione Arquivo > Salvar uma cópia no Drive. Lembre-se de que o dataset (adult.csv) precisa ser carregado novamente a cada novo post (mais informações no Artigo 4 acima), pois cada tutorial cria um notebook novo, adicionando apenas o código necessário apresentado neste artigo, porém o notebook está com todo o código gerado até o momento. Uma cópia do notebook será salva no Google Drive, dentro da pasta Colab Notebooks, mantendo o processo organizado e contínuo.

Por que dividir o dataset em treinamento e teste?

A divisão do dataset é um passo fundamental em qualquer projeto de Machine Learning, pois permite ao modelo "aprender" com uma parte dos dados (treinamento) e depois ser avaliado em dados novos, nunca antes vistos (teste). Essa prática é essencial para medir a generalização do modelo. Para facilitar o acompanhamento, usaremos as variáveis a seguir:

  • X_adult_treinamento: variáveis preditoras de treinamento
  • X_adult_teste: variáveis preditoras de teste
  • y_adult_treinamento: variável alvo de treinamento
  • y_adult_teste: variável alvo de teste

Código Python para dividir o dataset

Abaixo está o código Python para realizar a divisão entre dados de treinamento e teste:

from sklearn.model_selection import train_test_split

X_adult_treinamento, X_adult_teste, y_adult_treinamento, y_adult_teste = train_test_split(X_adult, y_adult, test_size=0.2, random_state=0)

# Dados para o treinamento
X_adult_treinamento.shape, y_adult_treinamento.shape

# Dados para o teste
X_adult_teste.shape, y_adult_teste.shape
Enter fullscreen mode Exit fullscreen mode

Na figura abaixo apresentado o código anterior com suas saídas após a execução.

Código Python com os valores de saídas

Explicação do Código:

train_test_split: Função da biblioteca sklearn que divide o dataset.
test_size=0.2: Indica que 20% dos dados serão reservados para teste, e os 80% restantes, para treinamento.
random_state=0: Garante que a divisão seja sempre a mesma, gerando resultados consistentes para cada execução.
shape: Verifica a forma dos dados após a divisão para confirmar que a separação ocorreu corretamente.

Salvando a divisão em um arquivo .pkl

Para facilitar o trabalho e garantir consistência entre diferentes execuções, salvaremos as variáveis de treinamento e teste em um arquivo .pkl. Isso possibilita reutilizar os dados sempre que necessário, sem precisar fazer a divisão novamente.

Código para salvar as variáveis usando pickle:

import pickle
with open('adult.pkl', mode='wb') as fl:
  pickle.dump([X_adult_treinamento, y_adult_treinamento, X_adult_teste, y_adult_teste], fl)
Enter fullscreen mode Exit fullscreen mode

Para ver o arquivo adult.pkl no notebook basta clicar no ícone de pasta que se encontra na lateral esquerda conforme mostrado na figura abaixo.

Criação do arquivo adult.pkl

Explicação do Código:

pickle: Biblioteca Python usada para serializar objetos, permitindo salvar variáveis complexas em arquivos.
dump: Salva as variáveis em um arquivo chamado adult.pkl. Esse arquivo será lido futuramente para carregar o dataset dividido em treinamento e teste, otimizando o fluxo de trabalho.

Conclusão

Neste artigo, você aprendeu como dividir um dataset em dados de treinamento e teste e salvá-lo em um arquivo .pkl. Este processo é fundamental em projetos de Machine Learning, garantindo uma estrutura organizada e eficiente. No próximo artigo, abordaremos a criação de modelos, começando pelo algoritmo Naive Bayes, utilizando o arquivo adult.pkl para dar continuidade ao desenvolvimento.

Livros que indico

1. Estatística Prática para Cientistas de dados
2. Introdução à Computação Usando Python
3. 2041: Como a Inteligência Artificial Vai Mudar Sua Vida nas Próximas Décadas
4. Curso Intensivo de Python
5. Entendendo Algoritmos. Um guia Ilustrado Para Programadores e Outros Curiosos
6. Inteligência Artificial - Kai-Fu Lee
7. Introdução à Inteligência Artificial- Uma Abordagem Não Técnica - Tom Taulli

Novos Kindles

Fiz uma análise detalhada dos novos Kindles lançados este ano, destacando suas principais inovações e benefícios para os leitores digitais. Confira o texto completo no link a seguir: O Fascinante Mundo da Leitura Digital: Vantagens de Ter um Kindle.

Amazon Prime

Entrar no Amazon Prime oferece uma série de vantagens, incluindo acesso ilimitado a milhares de filmes, séries e músicas, além de frete grátis em milhões de produtos com entrega rápida. Os membros também desfrutam de ofertas exclusivas, acesso antecipado a promoções e benefícios em serviços como Prime Video, Prime Music e Prime Reading, tornando a experiência de compra e entretenimento muito mais conveniente e rica.

Se você tiver interesse, entre pelo link a seguir: AMAZON PRIME , que me ajuda a continuar na divulgação da inteligência artificial e programação de computadores.

Top comments (0)