Olá! Bem-vindos ao curso GitHub, Como Publicar Projetos de Ciência de Dados.
Imagine dedicarmos várias horas a um determinado projeto, realizarmos diversas análises, coletarmos muitos insights e evidenciarmos esses insights por meio de visualizações, sentindo que fizemos um excelente trabalho. No entanto, nosso projeto permanece isolado em nosso computador, invisível para o restante da comunidade e, principalmente, para possíveis recrutadores. É exatamente essa barreira que vamos quebrar neste curso. Nele, nosso projeto isolado passará a compor um portfólio de maneira profissional. Estarei aqui para ajudar nessa jornada.
Audiodescrição: Cássio é um homem branco, calvo, com barba rala e utiliza óculos.
Olá! Sou engenheiro de software há quase 20 anos, servidor público e especialista em tecnologias disruptivas.
Neste curso, vamos entender por que utilizar o Git traz diversos benefícios para o desenvolvimento de nossos projetos. Conheceremos o GitHub e aprenderemos a interagir com repositórios remotos. Compreenderemos o fluxo de colaboração com outras pessoas da mesma equipe, utilizando branches (ramificações) para isolar alterações e evitar conflitos entre elas.
Aprenderemos a navegar no histórico de nosso repositório, revertendo alterações quando necessário. Além disso, publicaremos nosso projeto utilizando a sintaxe de Markdown (linguagem de marcação) para melhorar e tornar nosso repositório visualmente mais atrativo.
Esperamos que aproveitem essa jornada. Vamos juntos para o próximo vídeo. Até mais!
Como cientistas de dados, podemos nos perguntar quais são os benefícios do Git para considerarmos seu uso no dia a dia. Antes de responder a essa pergunta, vamos apresentar um cenário que talvez seja comum em nosso cotidiano. Já nos deparamos com esse tipo de organização em algum projeto? É bastante comum termos um projeto e, com receio de perder alguma modificação ou introduzir uma falha, acabamos criando vários arquivos do mesmo projeto, adicionando sufixos como "_v2", "_final", ou até mesmo a versão produzida por um colega de equipe.
Esse tipo de organização, apesar de comum, é um sintoma de que precisamos de uma maneira mais eficiente para salvar e controlar nossos projetos. É exatamente nesse ponto que o Git se torna relevante. Mas antes de entender seus benefícios, o que é o Git? Podemos entender o Git como uma "máquina do tempo" para nosso projeto. Ele é capaz de capturar "fotografias" ao longo do tempo, permitindo que vejamos como o projeto estava em uma etapa específica. Com isso, não precisamos mais de vários arquivos com versões como "versão final", "versão final agora vai", entre outros.
O Git funciona como essa "máquina do tempo", capturando fotografias dos arquivos do projeto ao longo do tempo. Essas fotografias são chamadas de commits. Cada commit salva os arquivos do projeto naquele momento exato. Assim, em vez de termos vários arquivos com diferentes versões, teremos um histórico muito mais organizado com essas fotografias ao longo do tempo.
Por exemplo, podemos partir de um projeto com um código base, onde fizemos o setup de algumas bibliotecas, e introduzimos alterações por meio de commits. Poderíamos ter um commit inicial que realiza o tratamento de valores nulos e salva essa fotografia. Nesse momento do projeto, não há nada além do tratamento de valores nulos. A partir daí, podemos evoluir no projeto, adicionando uma análise exploratória e tirando outra fotografia. Com o Git, somos capazes de voltar a um momento anterior, se desejarmos, ou continuar evoluindo a partir desse ponto, adicionando mais commits e capturando essas fotografias dos arquivos do projeto.
Perfeito. Surge então a grande pergunta: agora que entendemos o que é o Git, por que utilizá-lo? Nossa missão neste vídeo é induzir a vontade de começar a usar o Git. Citamos quatro grandes pilares, que consideramos os superpoderes que o Git oferece para nós como cientistas de dados.
O primeiro é a organização histórica. Ao invés de termos vários arquivos, cada um com uma versão diferente, conseguimos rastrear as mudanças feitas no projeto de maneira muito mais clara e simplificada.
Outro benefício que o Git proporciona é a questão da reprodutibilidade. Como cientistas de dados, precisamos que nosso trabalho seja reprodutível. Imagine que temos um modelo que atingiu uma acurácia de 90% ou 95%, conseguimos realizar um fine-tuning de uma maneira que não havíamos conseguido antes, e o projeto evoluiu. Seis meses depois, surge a necessidade de utilizar o modelo na forma em que estava e rodá-lo com dados diferentes para testar uma nova ideia. Será que nos lembraríamos de como estava o modelo naquele momento? Provavelmente não. O Git permite que tenhamos essa reprodutibilidade para executar o projeto em um determinado ponto no tempo.
Um outro grande benefício que o Git traz, para o qual ele foi criado, é a possibilidade de trabalho em equipe. Conseguimos colaborar com colegas e parceiros da mesma equipe, alterando o mesmo arquivo, às vezes no mesmo ponto de um arquivo. O Git oferece facilidades para que possamos mesclar essas alterações que todos estão fazendo.
Por fim, temos a experimentação segura. Ao rastrear os arquivos do projeto com o Git, conseguimos trabalhar em uma linha do tempo e abrir novas linhas do tempo que não impactam umas nas outras. Podemos criar uma linha do tempo diferente e começar a fazer experimentações, testar bibliotecas e tentar novos parâmetros do modelo. Se tudo der certo, conseguimos incorporar essa linha do tempo paralela na linha do tempo principal. Caso contrário, se a ideia não for para frente ou não se mostrar benéfica, simplesmente descartamos.
Com isso, temos esses quatro grandes superpoderes que o Git oferece. Esperamos ter convencido a começar a usar o Git no projeto. No próximo vídeo, veremos como podemos, de fato, começar a utilizar o Git na prática. Até mais.
Agora que estamos com o ambiente pronto, já baixamos o VS Code, instalamos as extensões, temos o Git instalado e baixamos o projeto base, vamos abrir o projeto, verificar seu conteúdo e executá-lo para garantir que tudo está correto em nosso ambiente.
Vamos clicar em File e abrir o diretório. O projeto está em "Documentos", "Alura", "Análise de Imigrantes". Vamos clicar para abrir. Este projeto contém três arquivos, e vamos entender cada um deles. O primeiro é o imigrantes-canada.csv
, que é uma base de dados com informações sobre imigração para o Canadá de vários países, abrangendo os anos de 1980 até 2013. A ideia é analisar o comportamento de imigração de brasileiros para o Canadá. Faremos um projeto bem conciso, pois nosso foco é utilizar o GitHub e publicar o projeto lá.
O projeto base está no arquivo projeto-base.ipnb
. Vamos alterar o nome para Análise de Imigrantes-Brasileiros
, que é o objetivo do nosso projeto. Alteramos o nome do arquivo, que é nosso Jupyter Notebook. Vamos examinar o conteúdo e o código dentro dele.
Antes disso, vamos abrir o arquivo requirements.txt
. Este arquivo descreve as bibliotecas necessárias para desenvolver o projeto e as versões de cada uma. Inclui bibliotecas como Matplotlib para visualização de gráficos e pandas, que são padrões para análises de dados com Python.
Agora que explicamos cada um dos arquivos, podemos executar o Jupyter Notebook para verificar se o ambiente e o projeto base estão corretos. Porém, uma boa prática ao desenvolver um projeto em Python é criar ambientes virtuais isolados. Isso é importante porque podemos ter vários projetos na máquina, cada um com bibliotecas atualizadas naquele momento. Se instalarmos essas bibliotecas globalmente, ficamos presos às versões antigas. O ideal é ter liberdade para desenvolver projetos antigos e novos, utilizando as novidades das novas versões das bibliotecas.
No Python, podemos criar ambientes virtuais isolados, permitindo instalar bibliotecas específicas para cada projeto sem conflitos ou poluição do escopo global do Python. É uma prática interessante que seguiremos aqui.
Para criar um ambiente virtual, com o VS Code aberto, vamos abrir o terminal. Já estamos com o terminal aberto e vamos criar o ambiente virtual chamando o Python via linha de comando. No Mac e Linux, usamos Python 3
, e no Windows, apenas Python
.
Como fica o comando completo para criar um ambiente virtual? Utilizamos python3 -m
, que invoca um módulo específico do Python, e o nome do módulo é venv
, de Virtual Environment (Ambiente Virtual). Esse ambiente virtual será criado em uma determinada pasta, à qual podemos dar o nome que desejarmos. Por convenção, ela é chamada de venv
ou .venv
, com um ponto no prefixo, o que faz com que esse diretório seja oculto no sistema operacional. Vamos deixar esse nome como .venv
. Ao pressionar "Enter", o ambiente virtual é criado, e o diretório é gerado no projeto. Assim, temos os arquivos desse ambiente virtual isolado do Python.
Para instalar bibliotecas nesse ambiente virtual, é necessário ativá-lo. Como fazemos isso? No Linux e no Mac, utilizamos o comando source
, e dentro desse ambiente virtual há a pasta bin
. No Windows, é a pasta Scripts
, e dentro dela temos o script activate
. Ao executar esse script, o ambiente virtual é ativado, permitindo a execução e instalação de bibliotecas de forma isolada.
Para instalar as bibliotecas descritas no arquivo requirements.txt
, utilizamos o comando pip install
. Nesse caso, queremos instalar todas as bibliotecas listadas no arquivo requirements
, então passamos o parâmetro -r
seguido do nome do arquivo. Após pressionar "Enter", pode ocorrer um aviso, pois o VS Code pode se confundir, achando que estamos instalando bibliotecas no ambiente global do Python. No entanto, o próprio VS Code reconhece que é uma boa prática trabalhar com ambientes isolados. Com o ambiente virtual ativado, instalamos as bibliotecas.
Agora, podemos executar nosso arquivo do notebook. Para isso, clicamos em "Run Now". O sistema pergunta qual ambiente desejamos utilizar, e selecionamos o ambiente virtual. O VS Code já reconhece que há um ambiente virtual no caminho do projeto, e a execução ocorre. A primeira célula é executada, seguida pela segunda, e tudo funciona corretamente.
Vamos analisar o que esse arquivo faz. O projeto básico importa o pandas
, carrega a base de dados em um dataframe, lendo o arquivo CSV. Em seguida, realiza um leve tratamento de dados, definindo o índice do dataframe como a coluna do país, já que cada país possui um nome único. O índice do dataframe será o país. Para facilitar a plotagem de gráficos, criamos uma lista de anos no intervalo de 1980 a 2013. Depois, carregamos o dataframe apenas com os dados do Brasil. Por exemplo, em 1980, 211 imigrantes foram para o Canadá, em 1981, 220, e assim por diante. Agora, temos o dataframe dos dados do Brasil isolados.
O projeto base importa a biblioteca matplotlib
e plota um gráfico que ilustra o comportamento da imigração de brasileiros para o Canadá nesse período. Com o ambiente configurado e tudo funcionando corretamente, estamos prontos para começar a utilizar o Git. Nos vemos no próximo vídeo. Até mais!
O curso Github: como publicar projetos em dados possui 118 minutos de vídeos, em um total de 34 atividades. Gostou? Conheça nossos outros cursos de Data Science em Data Science, ou leia nossos artigos de Data Science.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.