Sistemas de Informação - Graduação
Use as setas ← → ou clique para navegar
Machine Learning é a capacidade dos computadores aprenderem com dados sem serem explicitamente programados
Dados + Regras → Resultado
Dados + Resultado → Regras
Aprende com dados rotulados
Ex: Classificar emails (spam/não spam)
Descobre padrões em dados não rotulados
Ex: Agrupar clientes similares
Aprende por tentativa e erro
Ex: Jogos, robótica
| Features (X) | Variáveis de entrada | idade, renda, cidade |
| Target (y) | Variável de saída | comprou sim/não |
| Modelo | Função aprendida | f(X) = y |
| Treino | Processo de aprendizado | Ajustar parâmetros |
| Predição | Usar em dados novos | Prever resultado |
1️⃣ Definir o Problema
2️⃣ Coletar Dados
3️⃣ Explorar os Dados (EDA)
4️⃣ Preparar os Dados
5️⃣ Escolher o Modelo
6️⃣ Treinar o Modelo
7️⃣ Avaliar o Modelo
8️⃣ Ajustar/Otimizar
9️⃣ Fazer Predições
Dados ruins = Modelos ruins
A preparação de dados consome 60-80% do tempo em projetos de ML
Por quê? Evitar que o modelo "decore" os dados (overfitting)
Para o modelo aprender
Para avaliar o modelo
ML trabalha com números! Precisamos converter categorias
Para variáveis ordinais (pequeno → 0, médio → 1, grande → 2)
Para variáveis nominais (vermelho, azul, verde)
vermelho → [1,0,0] | azul → [0,1,0] | verde → [0,0,1]
Escala para [0, 1]
MinMaxScaler
Média=0, DP=1
StandardScaler
⚠️ IMPORTANTE: Sempre fazer fit apenas nos dados de treino!
Prever a categoria de uma instância
Calcula a probabilidade de pertencer a uma classe
"Diga-me com quem andas e te direi quem és"
Classifica baseado nos K vizinhos mais próximos
Cria uma estrutura de regras (if-then-else)
"A união faz a força" - Combina múltiplas árvores
Prever um valor contínuo (numérico)
Encontra a melhor linha reta que relaciona X e y
y = b₀ + b₁x
Para relações não-lineares
Árvore de decisão para valores contínuos
Ensemble de árvores para regressão
| PREDITO | |||
| Não | Sim | ||
| REAL | Não | VN Verdadeiro Negativo |
FP Falso Positivo |
| Sim | FN Falso Negativo |
VP Verdadeiro Positivo |
|
ROC: Receiver Operating Characteristic
AUC: Area Under the Curve
Modelo "decora" os dados
Treino: 98% ✅
Teste: 65% ❌
Modelo muito simples
Treino: 60% ❌
Teste: 58% ❌
Treino: 85% | Teste: 83% ✅
Divisão mais robusta dos dados
K-Fold (k=5): Divide em 5 partes
Iteração 1: [Test][Train][Train][Train][Train]
Iteração 2: [Train][Test][Train][Train][Train]
Iteração 3: [Train][Train][Test][Train][Train]
Iteração 4: [Train][Train][Train][Test][Train]
Iteração 5: [Train][Train][Train][Train][Test]
Testa todas as combinações de parâmetros
Exemplo: Random Forest
Total: 3 × 4 × 3 = 36 combinações
✅ Entendi o problema de negócio?
✅ Fiz EDA completa?
✅ Tratei valores ausentes e outliers?
✅ Codifiquei variáveis categóricas?
✅ Normalizei/Padronizei?
✅ Dividi treino/teste corretamente?
✅ Testei múltiplos algoritmos?
✅ Avaliei com métricas apropriadas?
✅ Verifiquei overfitting?
✅ Documentei o processo?
Scikit-learn, Pandas, Seaborn
Coursera (Andrew Ng), Kaggle Learn, DataCamp
Kaggle, UCI ML Repository
Lembre-se:
A prática leva à perfeição!
Quanto mais você experimentar,
melhor ficará! 💪