Como Cientista de Dados, você deve se sentir confortável programando em Linguagem Python. Além de aprender a usar as bibliotecas importantes para Data Science, você também deve trabalhar em suas habilidades com a linguagem. E qual é a melhor maneira de fazer isso do que trabalhar em projetos práticos?

Este artigo descreve sete sugestões de projetos Python — todos relacionados a tarefas de Ciência de Dados. Você pode usar bibliotecas Python e alguns módulos integrados. Porém, mais importante, trabalhar nesses projetos ajudará você a melhorar suas habilidades de programação e aprender as melhores práticas ao longo do caminho. E então colocar os projetos em seu portfólio e estar muito mais preparado para buscar as melhores vagas do mercado.

1. Pipeline Automatizado de Limpeza de Dados

A limpeza de dados, como você deve saber, é necessária, mas bastante assustadora, especialmente para conjuntos de dados do mundo real. Então, tente construir um pipeline de limpeza de dados que limpe automaticamente conjuntos de dados brutos manipulando valores ausentes, formatando dados e detectando outliers.

No que focar:

  • Manipulação de dados: Aplicar transformações para limpar conjuntos de dados.
  • Tratamento de erros: Lidar com erros potenciais durante o processo de limpeza.
  • Design de código modular: Criar funções reutilizáveis ​​para diferentes tarefas de limpeza.

Neste projeto, você pode usar predominantemente o pandas para manipulação de dados e então registrar as ações de limpeza e erros.

2. Pipeline ETL (Extract, Transform, Load) Simples

Um pipeline ETL automatiza a extração, transformação e carregamento de dados de várias fontes em um banco de dados de destino. Como prática, trabalhe em um projeto que exija o manuseio de dados de vários formatos e a integração deles em uma única fonte.

No que focar:

  • Formato de Arquivo e APIs: Trabalhando com diferentes formatos de arquivo, buscando dados via APIs.
  • Gerenciamento de banco de dados: Interface com bancos de dados usando SQLAlchemy para gerenciar persistência de dados.
  • Tratamento de erros: Implementando mecanismos de tratamento de erros necessários para garantir a integridade dos dados.
  • Agendamento: Automatizando o processo ETL usando tarefas cron.

Este é um bom projeto de aquecimento antes de passar para bibliotecas como Airflow e Prefect para construir pipelines ETL.

3. Pacote Python Para Criação de Perfil de Dados

A criação de um pacote Python que realiza criação de perfil de dados permite que você analise conjuntos de dados para estatísticas descritivas e detecte anomalias. Este projeto é uma ótima maneira de aprender sobre desenvolvimento e distribuição de pacotes em Python.

No que focar:

  • Estruturação do pacote: Organizar o código em um pacote reutilizável.
  • Teste: Implementar testes de unidade para garantir a funcionalidade do pacote.
  • Documentação: Escrever e manter a documentação para usuários do pacote.
  • Controle de versão: Gerenciar diferentes versões do pacote de forma eficaz.

Ao trabalhar neste projeto, você aprenderá a construir e publicar pacotes Python, testá-los em unidades para confiabilidade e melhorá-los ao longo do tempo!

4. Ferramenta CLI Para Gerar Ambientes de Projeto de Ciência de Dados

Ferramentas de linha de comando podem melhorar significativamente a produtividade (isso não deve ser uma surpresa). Projetos de Ciência de Dados normalmente exigem uma estrutura de pasta específica — conjuntos de dados, arquivos de dependência e muito mais. Tente construir uma ferramenta CLI (C0mmand Line Interface) que gere e organize arquivos para um novo projeto de Ciência de Dados em Python — tornando a configuração inicial mais rápida.

No que focar:

  • Desenvolvimento de interface de linha de comando (CLI): Construindo interfaces de linha de comando amigáveis ​​com argparse, Typer, Click e similares.
  • Manipulação do sistema de arquivos: Criando e organizando diretórios e arquivos programaticamente.

Além da ferramenta que você escolher para desenvolvimento CLI, você pode querer usar os módulos os e pathlib, o subprocesso para executar comandos shell e os módulos shutil conforme necessário.

5. Pipeline Para Validação Automatizada de Dados

Semelhante a um pipeline de limpeza de dados, você pode criar um pipeline de validação de dados automatizado que executa verificações básicas de qualidade de dados. Ele deve essencialmente verificar os dados recebidos em relação a regras predefinidas — verificando valores nulos, valores exclusivos, intervalos de valores, registros duplicados e muito mais. Ele também deve registrar quaisquer erros de validação automaticamente.

No que focar:

  • Escrever funções de validação de dados: Criar funções que realizam verificações de validação específicas.
  • Criar elementos de pipeline reutilizáveis: Usar composição de função ou decoradores para construir o processo de validação.
  • Registro e relatórios: Gerar logs e relatórios que resumem os resultados da validação.

Uma versão básica disso deve ajudar você a executar verificações de qualidade de dados em todos os projetos.

6. Performance Profiler Para Funções Python

Desenvolva uma ferramenta que crie um perfil do desempenho de funções Python, medindo métricas como uso de memória e tempo de execução. Isso deve fornecer relatórios detalhados sobre onde ocorrem gargalos de desempenho.

No que focar:

  • Medir o tempo de execução: Usar o time ou timeit para avaliar o desempenho da função.
  • Acompanhar o uso de memória: Utilizar tracemalloc ou memory_profiler para monitorar o consumo de memória.
  • Registro: Configurar o registro personalizado dos dados de desempenho.

Este projeto ajudará você a entender os gargalos no código Python existente por meio da criação de perfil e explorar técnicas de otimização de desempenho.

7. Ferramenta de Controle de Versão de Dados Para Modelos de Machine Learning

Ao trabalhar em projetos de aprendizado de máquina, rastrear alterações nos dados é tão importante quanto rastrear alterações no código. 

Você pode usar ferramentas como o DVC para isso, mas vale a pena criar uma do zero. Então, se você estiver pronto para um desafio de fim de semana, pode criar uma ferramenta que rastreia e gerencia diferentes versões de conjuntos de dados usados ​​para modelos de treinamento.

No que focar:

  • Controle de versão de dados: Gerenciando versões de conjuntos de dados.
  • E/S de arquivo: Trabalhando com diferentes formatos de arquivo.
  • Hashing: Implementando um mecanismo de hash para identificar exclusivamente versões de conjuntos de dados.
  • Gerenciamento de banco de dados: Armazenando e gerenciando metadados sobre conjuntos de dados em um banco de dados.

Neste projeto, você terá que explorar uma variedade de módulos integrados na biblioteca padrão do Python.

Conclusão

Trabalhar em projetos é a melhor forma de aprender Ciência de Dados e os projetos acima são dicas de atividades que você pode trabalhar para desenvolver seu conhecimento e experiência, ao mesmo tempo que cria seu portfólio. Se precisar de ajuda a DSA fornece quase 400 projetos em todos os cursos das Formações 4.0 em nosso portal.


Se você busca conhecimento prático baseado em projetos orientados às reais necessidades do mercado de trabalho, recomendamos a Formação Cientista de Dados 4.0. Clique no link abaixo para visitar a Trilha de Aprendizagem da Formação:

Formação Cientista de Dados 4.0

Se além de conhecimento você também deseja reconhecimento do MEC, temos um Programa completo para você. Acesse o link abaixo e conheça a Pós-Graduação em Ciência de Dados da Data Science Academy:

Pós-Graduação em Ciência de Dados

Na Formação o aluno tem o conhecimento prático através de material de alta qualidade e conteúdo baseado em projetos orientados às necessidades do mercado de trabalho. A Formação é um curso livre de aperfeiçoamento profissional e qualquer pessoa pode fazer um curso livre, o único pré-requisito é ter noções de sistemas operacionais. Na Pós o aluno tem o mesmo material prático da Formação, incluindo o módulo de Pós que traz apoio de carreira, materiais complementares, criação de portfólio de projetos, exame teórico e exame prático, além do certificado reconhecido pelo MEC.

Quem deseja o conhecimento, pode fazer a Formação. Quem deseja conhecimento mais reconhecimento do MEC pode fazer a Pós. E se você decidir fazer a Formação e mais tarde quiser migrar para a Pós, descontaremos 100% do valor pago na Formação.

Lembrando que para fazer a Pós é necessário ser brasileiro e ter concluído graduação em qualquer área.

O valor de investimento pode ser parcelado em até 12x no cartão ou 6x no boleto. Aproveite! Invista na sua capacitação.

Equipe DSA

Referências:

Datasets Públicos Para Portfólio de Projetos em Data Science

Guia Para Criar Portfólio de Projetos (Com Exemplos)

7 Python Projects to Boost Your Data Science Portfolio