Alura > Cursos de Data Science > Cursos de Data Science > Conteúdos de Data Science > Primeiras aulas do curso Github: como publicar projetos em dados

Github: como publicar projetos em dados

Por que usar Git? - Apresentação

Apresentando o curso e seus objetivos

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.

Apresentando o instrutor e sua experiência

Olá! Sou engenheiro de software há quase 20 anos, servidor público e especialista em tecnologias disruptivas.

Explorando os benefícios do Git e GitHub

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.

Navegando no histórico e publicando projetos

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!

Por que usar Git? - O que é e por que usar Git

Apresentando um cenário comum de organização de projetos

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.

Explicando o funcionamento do Git

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.

Destacando os benefícios do Git

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.

Facilitando o trabalho em equipe e a experimentação segura

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.

Concluindo com um convite ao uso do Git

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.

Por que usar Git? - Desenvolvendo com ambiente virtual

Preparando o ambiente de desenvolvimento

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á.

Explorando os arquivos do projeto

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.

Criando e ativando o ambiente virtual

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.

Configurando o ambiente virtual no VS Code

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.

Instalando bibliotecas no ambiente virtual

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.

Executando o Jupyter Notebook

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.

Analisando o projeto básico

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.

Plotando gráficos de imigração

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!

Sobre o curso Github: como publicar projetos em dados

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:

Aprenda Data Science acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas