---
title: Curso de Machine Learning em Projetos
image: https://i.imgur.com/li84a5S.png
---
# Curso Avançado de Inteligência Artificial - SF
<!--- 
--->

**Descrição detalhada do curso:**
Esse é o site básico de descrição do curso, reservado para os alunos inscritos. O material do curso, com as transparências, cadernos jupyter e atividades se encontram no site próprio da turma (seja Google ClassRoom ou Moodle).
Em caso de problema ou dúvida, mande uma mensagem pelo WhatsApp no grupo do curso, para o qual todos os alunos inscritos serão convidados!
**Atividades prévias ao início das aulas**
Abaixo duas sugestões que podem melhorar seu aproveitamento do curso:
**1. Verifique seu domínio de python e pandas**
Para quem não tem familiaridade com python e pandas recomendamos que realizem previamente dois mini-cursos gratuitos do Kaggle:
[Python (estimado em 5h)](](https://www.kaggle.com/learn/python))
[Pandas (estimado em 4h)](https://www.kaggle.com/learn/pandas)
Python é a linguagem de programação que utilizaremos durante o curso. Não é necessário se tornar um exímio programador em python pois utilizaremos a linguagem apenas como uma “cola” para conectar os diversos módulos já existentes em bibliotecas próprias de Machine Learning, como scikit-learn. Ainda assim é desejável ter alguma familiaridade com a sintaxe da linguagem, para ser mais produtivo. A parte mínima do python que será utilizada durante o curso será amplamente demonstrada e praticada nas atividades do curso.
Pandas é uma biblioteca python especializada para ciência de dados, com dados tabulares, ou seja, em formato de tabela (como uma planilha no Excel), em que cada linha é uma observação e cada coluna uma variável relacionada às observações. Pandas ajuda na importação, limpeza, visualização, criação de variáveis derivadas, cálculos estatísticos, etc. utilizando tais dados tabulares.
É extremamente útil estar familiarizado com a sintaxe de pandas, para seleção de linhas, colunas, filtragem, agrupamento, aplicação de funções, tipos de dados, dados faltantes, etc.
**2. Definição de projeto para o curso**
Faz muita diferença no seu aproveitamento do curso estar envolvido no desenvolvimento de um projeto de aplicação de ML em algum tema ou conjunto de dados de interesse da sua instituição ou do seu interesse!
Para que seja viável concluir o projeto dentro do prazo do curso e garantir que os conceitos e técnicas aprendidas sejam aplicadas no mesmo, o projeto terá de usar dados tabulares (dados estruturados em planilha ou csv) e/ou textos. Não recomendamos outros tipos de dados não estruturados, tais como áudio, imagem ou vídeo. Também não abordaremos dados temporais, tais como dados de ações da bolsa de valores.
Na turma do Senado Federal, criamos um painel BI com as sugestões dos líderes-gestores de diversas áreas. O painel tem várias oportunidades e propostas de Projeto de aplicação de Inteligência Artificial para solução de tarefas simples e repetitivas que agregam valor ao negócio.
As propostas de projeto, são as oportunidades que foram priorizadas pelos gestores, que são mais simples de executar e que agregam mais valor ao negócio. Recomendamos fortemente a escolha de um dos projetos do Senado Federal!
**Link pro painel de Inteligência Artificial do Senado Federal:** https://bit.ly/Painel_AILeaders
Caso opte por um projeto de interesse pessoal, existem muitos arquivos de dados disponíveis na internet, tais como:
- https://www.kaggle.com/datasets
- https://huggingface.co/datasets
- https://archive-beta.ics.uci.edu/
- https://data.fivethirtyeight.com/
- https://datasetsearch.research.google.com/
- https://github.com/awesomedata/awesome-public-datasets
- https://scikit-learn.org/stable/datasets/real_world.html
Caso não tenha a menor ideia do que desenvolver como projeto durante o curso, passaremos um protótipo de projeto, que vocês poderão personalizar, utilizando dados do ENEM 2019 publicados pelo Inep, que possuem informações de alta qualidade sobre milhões de alunos que prestaram a prova do Enem, como desempenho individual nas diversas provas e vários metadados sobre cada aluno, como escola de origem e 22 variáveis de um questionário sócioeconômico sobre a família de cada aluno. Essa rica base de informações pode ser utilizada (e cruzada/complementada com outras bases como a de características das escolas, dados dos municípios e estados, etc.) para responder a perguntas complexas como “quais escolas mais agregam desempenho no Enem para seus alunos” ou “quais os determinantes do desempenho no Enem”.
Melhor ainda, se você conseguir especificar um projeto próprio que suscite seu interesse e ajude a motivá-lo a investir as dezenas de horas necessárias para desenvolver um projeto impactante, do qual você possa se sentir orgulhoso!
Mas encontrar um “bom projeto” para aplicar suas técnicas de ML em desenvolvimento não é algo simples e requer pesquisa, criatividade, avaliação crítica dos determinantes do projeto e uma estratégia de seleção e priorização de projetos candidatos!
**Considerando o pouco tempo até o início das aulas**, o rítmo rápido do curso, com bastante conteúdo técnico em apenas um mês de aula (em 10 encontros de 4h) é fundamental que o seu projeto seja viável nessas circunstâncias. Para isso, indicamos os elementos mais importantes que devem estar bem definidos no seu projeto:
**1º Disponibilidade imediata dos dados:** para ser viável para o curso é preciso dispor de uma cópia dos dados que pretende utilizar, desde os primeiros dias de aula! A primeira causa de fracasso de um projeto de ML está quase sempre relacionada a limitações na disponibilidade dos dados. Assim é imprescindível que você já disponha de uma cópia desses dados nos primeiros dias de aula!
Considerando que é um fator preponderante, recomendo que pesquise possíveis projetos já em função de que dados você tem disponíveis. Idealmente, recomenda-se utilizar uma base de dados com a qual já esteja familiarizado ou que suscite seu interesse.
**2º Formato dos dados, tabulares ou textuais:** outra limitação dessa introdução ao ML é que trabalharemos unicamente com dados tabulares (em formato de tabela, como uma planilha no Excel, em que cada linha é uma observação e cada coluna uma variável relacionada às observações) ou textuais. Sendo possível combinações de dados tabulares e textuais, com colunas de texto, de números ou de categorias (por exemplo, sexo ou estado de residência).
É possível, porém mais complexo, lidar com dados em outros formatos, como imagens, sons, vídeos, dados cartográficos não tabulares, séries temporais não tabulares, etc. No entanto, esses demais formatos estão fora do nosso escopo inicial.
**3º Dados anotados ou rotulados: a sua tabela de dados precisa estar associada a uma coluna especial que será a variável dependente do seu conjunto de dados.**
Tecnicamente estaremos focado no curso em aprendizado supervisionado em que procuraremos prever os valores dessa coluna especial (chamada de variável dependente, anotação ou rótulo) em função dos demais dados presentes. Para isso, precisamos ter pelo menos algumas centenas dessas anotações já disponíveis nos nossos dados de treinamento para construir modelos preditivos. Essa variável dependente (ou variável objetivo ou ainda target, do inglês) é aquilo que o seu modelo preditivo irá procurar prever em função das demais variáveis do seu conjunto de dados. Geralmente, o target é o resultado de maior importância para o negócio e que procuraremos relacionar com as demais variáveis disponíveis. O target frequentemente é o resultado do processo que estamos modelizando e que pode ter sido criado por anotações manuais realizadas por pessoas ou pelo registro de resultados do passado.
Por exemplo, em um projeto de avaliação de risco de financimento, as variáveis independentes podem ser dados cadastrais de cada cliente (idade, profissão, sexo, estado civil, renda, anos no emprego, volume de investimentos, etc.) e a variável dependente (target) pode ser o resultado do financiamento, ou seja se dado cliente pagou um determinado empréstimo ou tornou-se inadimplente. O registro histórico fornece esse resultado de adimplência/inadimplência para clientes do passado e queremos construir um modelo preditivo que possamos utilizar para suporte a decisão de concessão de novos financiamentos para clientes do presente, baseando nossa análise de risco de inadimplência nos resultados do modelo preditivo que extraiu padrões nas características dos clientes inadimplentes passados. Assim, para realizar esse projeto é preciso ter tanto os dados cadastrais de clientes passados e presentes, como o resultado de inadimplência dos clientes passados, para então prever o mais provável resultado de adimplência dos clientes presentes.
Outro exemplo da importância dos dados anotados, seria para classificação de sentimento em texto. Além de dispor de um conjunto de dados com textos que manifestam algum sentimento positivo ou negativo, é preciso ter esse resultado já conhecido para algumas centenas de exemplos anotados. Essas anotações de quais sentimentos estão presentes nos dados de treinamento é que guiarão a otimização do modelo que irá classificar novos textos, cujo sentimento queremos classificar automaticamente.
A disponbilidade de dados anotados é o principal limitante à aplicação de ML. Muitas vezes gostaríamos de prever um resultado, mas não dispomos de uma base de treinamento com esses resultados anotados, seja com base no passado ou por anotações manuais por especialistas no negócio. Existem outras técnicas de ML para essas situações (aprendizado não supervisionado) mas fora do escopo do curso. Assim, é muito importante definir com clareza qual a tarefa que se espera realizar com o projeto, quais são as variáveis independentes e qual a variável dependente que se deseja prever com base nas independentes e dispor de pelo menos algumas centenas de exemplos anotados (de preferência milhares de exemplos, mas esse número mínimo de exeplos anotados depende da complexidade da tarefa, que abordaremos durante o curso).
É importante ressaltar que, com dados tabulares, em princípio, qualquer coluna pode ser interpretada como a variável dependente a ser prevista a partir das demais colunas. No entanto, algumas dessas relações de dependência fazem sentido e outras não. Daí a importância de conhecer do negócio! Por exemplo, com os dados do Enem, podemos procurar prever seu desempenho na prova com base nas respostas do questionário sócio-econômico, mas também poderíamos tentar prever qual a sua escola ou qual o seu estado de residência, com base nos demais dados, ou ainda prever a renda familiar com base nas demais respostas ao questionário socioeconômico. Se houver uma relação clara de dependência da variável target com as demais, o algoritmo de aprendizado irá extrair esse padrão. Mas se não houver essa relação de dependência, então o algoritmo permanecerá perdido!
Como encontrar dados anotados disponíveis que possam te interessar é a parte mais limitante para construir seu projeto, forneço algumas indicações que podem ajudar:
Painel de projetos de alunos de turmas passadas do curso de ML em Projetos (com descrição suscinta, gravação da apresentação de mais de 120 projetos e, em alguns casos, código publicado): https://datastudio.google.com/u/0/reporting/fc8c5035-8650-4478-ac85-2e7d551bd2a9/page/blzXB
Observação: não se preocupem de início com os detalhes técnicos de como os alunos anteriores realizaram o projeto, mas apenas na descrição do problema de negócio e das fontes de dados utilizadas. Ao final do curso vocês também serão capazes de desenvolver projetos nesse nível de complexidade técnica!
Lista de descrições de projetos bem sucedidos na Administração Pública:
https://docs.google.com/document/d/172j3IrzSIPM-U26faB4Qtkg3XCfZRaZP9I6-qoX9mec/edit?usp=sharing
Painel colaborativo com fontes de dados: https://funretro.io/publicboard/bJT50t6W4pgLc0bu29AtFDHroVf1/ec9a6b50-4513-4853-9ac0-a433989e49cc
Recomendo vividamente, que invista algum tempo explorando as três listas acima, para estimular sua imaginação e despertar seu interesse por alguma aplicação ou base de dados!
Finalmente, nos primeiros dias de aula teremos uma fase de validação de seus anteprojetos, com feedback dos instrutores quanto à viabilidade para o curso. Sugiro assim que elabore sua própria lista com algumas alternativas, mas, caso não consiga pensar em nada, ainda assim teremos o projeto do Enem para lhe fornecer.