PROGRAMA DE CURSO APOSTILA 04 · Aprendizado de Máquina
← Início
📘 AULA 1 · Fundamentos
01

O que é aprendizado de máquina

Aprendizado de máquina (em inglês, machine learning ou ML) é o ramo da inteligência artificial que estuda algoritmos capazes de aprender padrões a partir de dados, em vez de serem programados explicitamente com regras fixas para cada situação.

Na programação tradicional, o desenvolvedor escreve as regras: dados + regras → respostas. No aprendizado de máquina, a lógica se inverte: fornecemos dados + respostas conhecidas e o algoritmo descobre sozinho as regras — o modelo — que ligam uma coisa à outra.

💻 Programação tradicional
  • Humano escreve as regras (if / else)
  • Entrada: dados + regras
  • Saída: respostas
  • Bom quando as regras são conhecidas e estáveis
🤖 Aprendizado de máquina
  • Algoritmo descobre as regras a partir de exemplos
  • Entrada: dados + respostas (rótulos)
  • Saída: um modelo que gera regras
  • Bom quando as regras são complexas ou desconhecidas

📐 Definição clássica (Tom Mitchell, 1997)

"Diz-se que um programa aprende com a experiência E, em relação a uma tarefa T e uma medida de desempenho P, se o seu desempenho em T, medido por P, melhora com a experiência E."

Exemplo: um filtro de spam. A tarefa T é classificar e-mails em "spam" ou "não spam"; a experiência E são milhares de e-mails já rotulados; a medida P é o percentual de e-mails classificados corretamente. Quanto mais e-mails o filtro vê, melhor ele fica — ele aprende.

ℹ️
O termo "machine learning" foi cunhado por Arthur Samuel em 1959, que o definiu como "o campo de estudo que dá aos computadores a capacidade de aprender sem serem explicitamente programados".
📘 AULA 1 · Fundamentos
02

IA, ML, Deep Learning e Ciência de Dados

Esses termos costumam ser usados como sinônimos, mas descrevem coisas diferentes. Pense em círculos, um dentro do outro:

┌─────────────────────────────────────────────┐ │ INTELIGÊNCIA ARTIFICIAL (IA) │ │ Máquinas que simulam capacidades humanas │ │ ┌─────────────────────────────────────┐ │ │ │ APRENDIZADO DE MÁQUINA (ML) │ │ │ │ Aprende padrões a partir de dados │ │ │ │ ┌─────────────────────────────┐ │ │ │ │ │ DEEP LEARNING │ │ │ │ │ │ Redes neurais profundas │ │ │ │ │ └─────────────────────────────┘ │ │ │ └─────────────────────────────────────┘ │ └─────────────────────────────────────────────┘
TermoO que éExemplo
Inteligência ArtificialCampo amplo: qualquer técnica que faça máquinas imitarem a inteligência humanaUm sistema especialista com regras; um chatbot
Aprendizado de MáquinaSubárea da IA que aprende com dados sem regras explícitasPrevisão de churn, detecção de fraude
Deep LearningSubárea do ML baseada em redes neurais com muitas camadasReconhecimento de imagem, tradução automática
Ciência de DadosDisciplina que usa estatística, ML e programação para extrair valor dos dadosTodo o processo: coletar, limpar, modelar e comunicar
✅
O aprendizado de máquina é a ferramenta; a ciência de dados é o processo completo que usa essa ferramenta (entre outras) para responder perguntas de negócio e apoiar decisões.
📘 AULA 1 · Fundamentos
03

Por que ML e onde se aplica

O aprendizado de máquina brilha em problemas onde escrever regras manualmente seria inviável — porque os padrões são complexos, mudam com o tempo ou dependem de muitas variáveis ao mesmo tempo. No ambiente corporativo, ele é usado como apoio à decisão nos níveis operacional, tático e estratégico.

📉

Previsão de evasão (churn)

Estimar quais clientes têm maior risco de cancelar, para agir antes.

🛡️

Detecção de fraude

Identificar transações anômalas em tempo real.

🎯

Recomendação

Sugerir produtos, filmes ou conteúdos com base no comportamento.

💰

Precificação e demanda

Prever vendas e otimizar preços e estoque.

🔧

Manutenção preditiva

Antecipar falhas de equipamentos antes que aconteçam.

🗂️

Segmentação de clientes

Agrupar clientes com perfis parecidos para campanhas dirigidas.

⚠️
ML não é mágica: ele encontra correlações nos dados, não relações de causa e efeito. Um modelo só é tão bom quanto os dados que recebe — dados enviesados ou de baixa qualidade produzem decisões ruins ("garbage in, garbage out").
📘 AULA 1 · Fundamentos
04

Os três tipos de aprendizado

Os algoritmos de ML se dividem em três grandes paradigmas, de acordo com o tipo de "sinal" que orienta o aprendizado.

🎯 Supervisionado
  • Aprende com dados rotulados (com a resposta)
  • Objetivo: prever um rótulo para dados novos
  • Regressão (número) e Classificação (categoria)
  • Ex.: prever preço de imóvel; detectar spam
🔍 Não supervisionado
  • Aprende com dados sem rótulos
  • Objetivo: descobrir estrutura escondida
  • Clustering, redução de dimensionalidade, associação
  • Ex.: segmentar clientes; agrupar produtos
🕹️ Aprendizado por reforço
  • Um agente aprende por tentativa e erro, recebendo recompensas e punições
  • Objetivo: descobrir a melhor sequência de ações (política)
  • Ex.: robôs, jogos (AlphaGo), controle de tráfego, otimização logística
TipoDadosPergunta que respondeExemplos de algoritmo
SupervisionadoRotulados"Qual é o valor / a categoria disto?"Regressão linear, árvores, SVM, KNN
Não supervisionadoSem rótulo"Como esses dados se organizam?"K-means, PCA, Apriori
Por reforçoRecompensas"Que ação devo tomar agora?"Q-learning, políticas de decisão
📘 AULA 1 · Fundamentos
05

Conceitos-base: dados, features e rótulos

Todo projeto de ML gira em torno de um conjunto de dados (dataset), normalmente organizado como uma tabela. Vamos fixar o vocabulário com um exemplo de previsão de preço de imóveis:

Área (m²)QuartosBairroPreço (R$)
702Centro320.000
1203Tijuca540.000
451Centro210.000
  • Instância / amostra (linha): um exemplo — um imóvel.
  • Feature / atributo / variável (coluna de entrada): Área, Quartos e Bairro. São as informações que o modelo usa para prever.
  • Rótulo / alvo / target (coluna de saída): Preço. É o que queremos prever.
  • Modelo: a função aprendida que mapeia features → rótulo.

Divisão dos dados: treino, validação e teste

Nunca avaliamos um modelo com os mesmos dados usados para treiná-lo — seria como aplicar uma prova com as mesmas questões do gabarito estudado. Por isso, dividimos o dataset:

Dataset completo (100%) ├── Treino (~70%) → o modelo aprende os padrões ├── Validação (~15%) → ajuste de hiperparâmetros └── Teste (~15%) → avaliação final, dados nunca vistos
🚨
Vazamento de dados (data leakage): se qualquer informação do conjunto de teste "escapar" para o treino, o desempenho medido fica artificialmente alto e o modelo decepciona na vida real. Separe treino e teste antes de qualquer análise.
📘 AULA 1 · Fundamentos
06

O fluxo de um projeto de ML

Um projeto de aprendizado de máquina raramente é linear — é um ciclo iterativo. Uma referência clássica é o processo CRISP-DM (Cross-Industry Standard Process for Data Mining), que organiza o trabalho em seis fases:

  1. 1Entendimento do negócio: qual decisão o modelo vai apoiar? Qual é a pergunta e o critério de sucesso?
  2. 2Entendimento dos dados: coletar, explorar e avaliar a qualidade e a disponibilidade dos dados.
  3. 3Preparação dos dados: limpar, tratar valores faltantes, criar e transformar features (a etapa mais demorada, ~70% do tempo).
  4. 4Modelagem: escolher algoritmos, treinar modelos e ajustar hiperparâmetros.
  5. 5Avaliação: medir o desempenho com métricas adequadas e confrontar com o objetivo de negócio.
  6. 6Implantação (deployment): colocar o modelo em produção, monitorar e re-treinar quando o desempenho cair.
✅
Na prática, a maior parte do esforço está na preparação dos dados, não no algoritmo. Diz o ditado da área: "dados melhores vencem algoritmos mais sofisticados".
📗 AULA 2 · Aprendizado supervisionado
07

Regressão × Classificação

O aprendizado supervisionado se divide em dois grandes tipos de tarefa, de acordo com a natureza do rótulo que queremos prever:

📈 Regressão
  • Prevê um valor numérico contínuo
  • "Quanto?" / "Qual valor?"
  • Preço de um imóvel, temperatura, demanda
  • Métricas: MAE, RMSE, R²
🏷️ Classificação
  • Prevê uma categoria / classe
  • "Qual tipo?" / "Sim ou não?"
  • Spam/não spam, fraude/legítima, churn/fica
  • Métricas: acurácia, precisão, recall, F1

A classificação pode ser binária (duas classes: aprovado/reprovado) ou multiclasse (várias: gato/cachorro/pássaro). Um mesmo problema, às vezes, pode ser modelado das duas formas — prever a nota de um aluno é regressão; prever se ele será aprovado é classificação.

📗 AULA 2 · Aprendizado supervisionado
08

Regressão linear

A regressão linear é o algoritmo mais simples e didático. Ela tenta traçar a "melhor reta" que descreve a relação entre as features e o alvo. Para uma única feature x:

ŷ = b₀ + b₁·x

Onde ŷ é o valor previsto, b₀ é o ponto onde a reta corta o eixo (intercepto) e b₁ é a inclinação (quanto o alvo muda quando x aumenta em 1 unidade). Com várias features, vira uma soma ponderada:

ŷ = b₀ + b₁·x₁ + b₂·x₂ + … + bₙ·xₙ

Como o modelo "aprende"?

O algoritmo procura os coeficientes b que minimizam o erro entre o previsto (ŷ) e o real (y). O erro mais usado é o erro quadrático médio (MSE): a média dos quadrados das diferenças. A técnica que ajusta os coeficientes passo a passo, "descendo" na direção que reduz o erro, chama-se gradiente descendente.

Preço │ • ← ponto real │ • ╱ (erro) │ • ╱• │ •╱ • ╱ = reta aprendida (ŷ) │ •╱ • │_╱•________________ Área (m²)
ℹ️
A regressão linear pressupõe uma relação aproximadamente linear entre features e alvo. Quando a relação é curva, usam-se variações (regressão polinomial) ou outros algoritmos.
📗 AULA 2 · Aprendizado supervisionado
09

Regressão logística

Apesar do nome, a regressão logística é um algoritmo de classificação. Ela estima a probabilidade de uma instância pertencer a uma classe. Para isso, passa a soma ponderada das features por uma função sigmoide, que "achata" qualquer número para o intervalo entre 0 e 1:

P(y=1) = 1 / (1 + e^−(b₀ + b₁·x₁ + … + bₙ·xₙ))

Se a probabilidade for maior que um limiar (normalmente 0,5), classificamos como a classe positiva; caso contrário, como a negativa.

P(y=1) 1 ┤ ______ │ ╱ 0.5┤ - - - •- - - - - ← limiar de decisão │ ╱ 0 ┤___╱________________ soma ponderada (z)
✅
A regressão logística é rápida, interpretável e um excelente baseline (modelo de referência) para problemas de classificação binária, como prever se um cliente vai cancelar (churn) ou não.
📗 AULA 2 · Aprendizado supervisionado
10

KNN e árvores de decisão

K-vizinhos mais próximos (KNN)

O KNN (K-Nearest Neighbors) é um dos algoritmos mais intuitivos: para classificar uma nova instância, ele olha os k exemplos mais parecidos (mais próximos) no conjunto de treino e adota a classe majoritária entre eles. "Me diga com quem andas e te direi quem és."

  • k pequeno (ex.: 1): sensível a ruído, fronteiras irregulares.
  • k grande: fronteiras mais suaves, mas pode ignorar padrões locais.
  • Exige normalizar as features, pois usa distância (senão, a feature de maior escala domina).

Árvores de decisão

Uma árvore de decisão aprende uma sequência de perguntas do tipo "sim/não" que dividem os dados até chegar a uma decisão. É extremamente interpretável — dá para desenhar e explicar para um gestor.

[Renda > 5k?] ╱ ╲ não sim ╱ ╲ [Dívida alta?] [Aprovar crédito] ╱ ╲ sim não [Negar] [Aprovar]

A árvore escolhe, em cada nó, a pergunta que melhor "separa" as classes, usando medidas de pureza como o índice de Gini ou a entropia. A grande fraqueza: árvores muito profundas decoram o treino (overfitting).

📗 AULA 2 · Aprendizado supervisionado
11

Random Forest, SVM e Naive Bayes

Random Forest (floresta aleatória)

Se uma árvore erra por decorar demais, que tal juntar muitas árvores e tirar a média/voto? É a ideia do Random Forest, um método de ensemble (comitê): treina dezenas ou centenas de árvores, cada uma com uma amostra aleatória dos dados e das features, e combina os resultados. É robusto, preciso e um dos algoritmos mais usados na prática.

Máquinas de vetores de suporte (SVM)

A SVM busca a "fronteira" (hiperplano) que separa as classes com a maior margem possível entre elas. Com o "truque do kernel", consegue separar dados que não são linearmente separáveis. Poderosa em espaços de muitas dimensões.

Naive Bayes

Baseado no Teorema de Bayes, calcula a probabilidade de cada classe assumindo (ingenuamente, daí o "naive") que as features são independentes entre si. É simples, rapidíssimo e surpreendentemente eficaz em classificação de texto (spam, análise de sentimento).

AlgoritmoForçaFraqueza
KNNSimples, sem treino explícitoLento com muitos dados; sensível à escala
Árvore de decisãoInterpretável, aceita dados mistosOverfitting se muito profunda
Random ForestPreciso e robustoMenos interpretável; mais pesado
SVMForte em muitas dimensõesDifícil de ajustar; lento em bases grandes
Naive BayesRápido; ótimo para textoAssume independência entre features
ℹ️
Não existe "melhor algoritmo" universal (o No Free Lunch Theorem). O ideal é testar alguns candidatos e comparar o desempenho no seu problema específico.
📗 AULA 2 · Aprendizado supervisionado
12

Overfitting, underfitting e viés-variância

O grande objetivo do ML é a generalização: acertar em dados novos, não apenas nos de treino. Dois problemas atrapalham isso:

📉 Underfitting (subajuste)
  • Modelo simples demais
  • Erra no treino e no teste
  • Alto viés (bias)
  • Solução: modelo mais complexo, mais features
📈 Overfitting (sobreajuste)
  • Modelo complexo demais; "decora" o treino
  • Acerta no treino, erra no teste
  • Alta variância
  • Solução: mais dados, regularização, simplificar
Erro │ \ ╱ ← teste (validação) │ \ ╱ │ \___ ╱ │ \___ ╱ │ \_____╱ ← treino │ ▲ │ ponto ideal └──────────────────────────────── Complexidade do modelo underfitting ◄──► overfitting

Encontrar o equilíbrio entre viés e variância é o compromisso viés-variância (bias-variance tradeoff). Técnicas de regularização (L1/Lasso e L2/Ridge) penalizam modelos complexos demais, ajudando a evitar o overfitting.

⚠️
Sinal clássico de overfitting: 99% de acerto no treino e 65% no teste. O modelo memorizou os exemplos em vez de aprender o padrão geral.
📙 AULA 3 · Aprendizado não supervisionado
13

Clustering: K-means

No aprendizado não supervisionado não há rótulos — o algoritmo procura estrutura escondida. A tarefa mais comum é o clustering (agrupamento): reunir instâncias parecidas em grupos (clusters).

O K-means é o algoritmo de clustering mais popular. Você define quantos grupos quer (k) e ele:

  1. 1Sorteia k centros (centroides) iniciais.
  2. 2Atribui cada ponto ao centroide mais próximo.
  3. 3Recalcula cada centroide como a média dos pontos do seu grupo.
  4. 4Repete os passos 2 e 3 até os grupos pararem de mudar.

Como escolher o k?

Uma técnica é o método do cotovelo (elbow method): testar vários valores de k e observar onde a redução do erro "dobra o cotovelo" — a partir dali, aumentar k traz pouco ganho.

🗂️
Aplicação corporativa clássica: segmentação de clientes. O K-means agrupa clientes com comportamento de compra parecido, permitindo campanhas de marketing dirigidas a cada segmento.
📙 AULA 3 · Aprendizado não supervisionado
14

Clustering hierárquico e DBSCAN

Clustering hierárquico

Constrói uma árvore de grupos (dendrograma). Na versão aglomerativa, começa com cada ponto sendo um grupo e vai unindo os mais próximos, passo a passo, até formar um único grupo. Você "corta" o dendrograma na altura desejada para obter o número de clusters. Vantagem: não precisa definir k antecipadamente e gera uma visualização rica.

DBSCAN

O DBSCAN agrupa por densidade: regiões densas de pontos viram clusters, e pontos isolados em áreas vazias são marcados como ruído (outliers). Diferente do K-means, ele descobre sozinho o número de grupos e encontra clusters de formatos irregulares.

MétodoDefine k?Formato dos clustersDetecta outliers?
K-meansSim, você defineEsféricos, tamanhos parecidosNão
HierárquicoNão (corta depois)VariadosNão diretamente
DBSCANNão (automático)Qualquer formatoSim
📙 AULA 3 · Aprendizado não supervisionado
15

Redução de dimensionalidade (PCA)

Quando um dataset tem dezenas ou centenas de features, surge a "maldição da dimensionalidade": os dados ficam esparsos, os modelos ficam lentos e é impossível visualizar. A redução de dimensionalidade comprime as features em um número menor, preservando o máximo de informação.

O PCA (Análise de Componentes Principais) encontra novas "direções" (componentes principais) que capturam a maior parte da variância dos dados. Assim, é possível, por exemplo, resumir 50 features em 2 componentes e plotar tudo em um gráfico.

📊

Visualização

Projetar dados de muitas dimensões em 2D ou 3D para enxergar padrões.

⚡

Desempenho

Menos features = treino mais rápido e menos overfitting.

🧹

Remoção de ruído

Descarta direções de baixa variância, muitas vezes ruído.

⚠️
Os componentes do PCA são combinações das features originais — o modelo ganha desempenho mas perde interpretabilidade direta. Use quando visualização/velocidade importam mais que explicar cada variável.
📙 AULA 3 · Aprendizado não supervisionado
16

Regras de associação

As regras de associação descobrem relações do tipo "quem compra X tende a comprar Y". É a base da clássica análise de cesta de compras (market basket analysis). O algoritmo mais conhecido é o Apriori.

Uma regra {fralda} → {cerveja} é avaliada por três medidas:

MedidaO que responde
SuporteCom que frequência os itens aparecem juntos no total de transações
ConfiançaDado que comprou X, qual a probabilidade de comprar Y
LiftQuanto a compra de X aumenta (ou reduz) a chance de comprar Y em relação ao acaso
✅
Aplicações: recomendação de produtos ("clientes que compraram isto também levaram…"), organização de gôndolas e montagem de combos e promoções.
📙 AULA 3 · Aprendizado não supervisionado
17

Pré-processamento e engenharia de features

Os algoritmos só funcionam bem com dados bem preparados. Esta é, de longe, a etapa que mais consome tempo — e a que mais impacta o resultado.

Tratamento de dados faltantes

  • Remoção: excluir linhas/colunas com muitos vazios.
  • Imputação: preencher com média, mediana, moda ou um valor previsto.

Codificação de variáveis categóricas

Modelos entendem números, não texto. Convertemos categorias com:

  • One-Hot Encoding: uma coluna 0/1 para cada categoria (ex.: Bairro_Centro, Bairro_Tijuca).
  • Label Encoding: um número para cada categoria (útil quando há ordem, ex.: baixo=0, médio=1, alto=2).

Escalonamento (normalização/padronização)

Coloca features de escalas diferentes (idade: 0–100; salário: 0–100.000) em faixas comparáveis, essencial para KNN, SVM e PCA.

  • Normalização (Min-Max): reescala para o intervalo [0, 1].
  • Padronização (Z-score): centraliza na média 0 com desvio padrão 1.

🛠️ Engenharia de features (feature engineering)

É a arte de criar novas variáveis a partir das existentes, injetando conhecimento de negócio. Ex.: de "data de nascimento" extrair "idade"; de "data da compra" extrair "dia da semana"; combinar "renda" e "dívida" em "comprometimento de renda". Boas features costumam valer mais que algoritmos sofisticados.

📙 AULA 3 · Aprendizado não supervisionado
18

Aprendizado por reforço (visão geral)

No aprendizado por reforço (RL), um agente interage com um ambiente, toma ações e recebe recompensas (ou punições). O objetivo é aprender uma política — uma estratégia de ação — que maximize a recompensa acumulada ao longo do tempo.

┌─────────────┐ ação ┌──────────────┐ │ AGENTE │──────────►│ AMBIENTE │ │ │◄──────────│ │ └─────────────┘ estado + └──────────────┘ recompensa
  • Exploração vs. exploração (explore/exploit): testar ações novas ou repetir o que já funciona?
  • Aplicações: jogos (AlphaGo), robótica, veículos autônomos, otimização de logística e de preços dinâmicos.
ℹ️
O RL é o terceiro paradigma do ML e a base de muitos avanços recentes de IA. Nesta UC ele aparece como conceito — o foco prático fica no aprendizado supervisionado e não supervisionado.
📕 AULA 4 · Avaliação e prática
19

Métricas de classificação

Medir "acertos" não basta. Imagine detectar uma doença rara presente em 1% da população: um modelo que sempre diz "não tem" acerta 99% das vezes — e é inútil. Por isso, avaliamos classificação com a matriz de confusão:

Previsto: PositivoPrevisto: Negativo
Real: PositivoVP (verdadeiro positivo)FN (falso negativo)
Real: NegativoFP (falso positivo)VN (verdadeiro negativo)

A partir dela, calculamos:

MétricaFórmulaResponde
Acurácia(VP+VN) / total% de acertos gerais
PrecisãoVP / (VP+FP)Dos que previ positivo, quantos eram mesmo?
Recall (revocação)VP / (VP+FN)Dos positivos reais, quantos eu peguei?
F1-score2·(P·R)/(P+R)Equilíbrio entre precisão e recall
⚠️
Escolha a métrica pelo custo do erro. Em detecção de fraude, um falso negativo (deixar passar) é caro → priorize recall. Em um filtro de spam, um falso positivo (barrar e-mail bom) incomoda → priorize precisão. O F1 equilibra os dois, útil em bases desbalanceadas.

A curva ROC e a área sob ela (AUC) medem a capacidade do modelo de separar as classes em diferentes limiares — quanto mais perto de 1, melhor.

📕 AULA 4 · Avaliação e prática
20

Métricas de regressão

Para prever números, medimos o tamanho do erro entre o valor previsto e o real:

MétricaO que éCaracterística
MAEErro absoluto médioFácil de interpretar; na mesma unidade do alvo
MSEErro quadrático médioPune erros grandes com mais força
RMSERaiz do MSEVolta à unidade original; sensível a outliers
R² (coef. de determinação)% da variância explicada pelo modeloEntre 0 e 1; quanto maior, melhor
ℹ️
Um R² = 0,85 significa que o modelo explica 85% da variação do alvo. Já um RMSE de R$ 30.000 na previsão de preço de imóveis diz que, em média, o modelo erra cerca de 30 mil reais — mais concreto para o negócio.
📕 AULA 4 · Avaliação e prática
21

Validação cruzada e ajuste de hiperparâmetros

Validação cruzada (cross-validation)

Avaliar em um único conjunto de teste pode dar "sorte" ou "azar" na divisão. A validação cruzada k-fold divide os dados em k partes (folds): treina em k−1 e testa na parte restante, repetindo até cada parte ter sido teste uma vez. O desempenho final é a média — uma estimativa mais confiável.

k = 5 folds: Rodada 1: [teste][train][train][train][train] Rodada 2: [train][teste][train][train][train] Rodada 3: [train][train][teste][train][train] Rodada 4: [train][train][train][teste][train] Rodada 5: [train][train][train][train][teste] → desempenho = média das 5 rodadas

Hiperparâmetros

Parâmetros são aprendidos pelo modelo (os coeficientes). Hiperparâmetros são configurações que nós definimos antes do treino (o k do KNN, a profundidade da árvore, o número de árvores da floresta). Para encontrar os melhores, usamos busca sistemática:

  • Grid Search: testa todas as combinações de uma "grade" de valores.
  • Random Search: testa combinações aleatórias — mais rápido em espaços grandes.
📕 AULA 4 · Avaliação e prática
22

Projeto prático em Python (scikit-learn)

A biblioteca scikit-learn é o padrão de mercado para ML clássico em Python. Todo modelo segue a mesma interface: .fit() para treinar e .predict() para prever. Veja um fluxo completo de classificação:

# 1. Importar as bibliotecas
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import classification_report

# 2. Carregar os dados
df = pd.read_csv("clientes.csv")
X = df.drop(columns=["churn"])   # features
y = df["churn"]                    # rótulo (0 = fica, 1 = cancela)

# 3. Separar treino e teste
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42, stratify=y)

# 4. Escalonar as features
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test  = scaler.transform(X_test)

# 5. Treinar o modelo
modelo = RandomForestClassifier(n_estimators=200, random_state=42)
modelo.fit(X_train, y_train)

# 6. Prever e avaliar
y_pred = modelo.predict(X_test)
print(classification_report(y_test, y_pred))
✅
Repare no random_state=42: ele fixa a aleatoriedade para que o experimento seja reprodutível — todos que rodarem o código obtêm o mesmo resultado.
📕 AULA 4 · Avaliação e prática
23

ML no apoio à decisão e ética

No contexto desta UC, o aprendizado de máquina é ferramenta de apoio à decisão — não substitui o gestor, mas fornece previsões e insights que tornam a decisão mais informada, nos níveis operacional (dia a dia), tático (metas) e estratégico (longo prazo).

Do modelo à decisão

Um bom modelo só gera valor se for traduzido em ação. Prever que um cliente tem 80% de chance de cancelar só importa se a empresa fizer algo — uma oferta de retenção, um contato do time de sucesso. O ciclo é: dado → modelo → previsão → decisão → ação → resultado.

Ética, viés e responsabilidade

⚖️

Viés algorítmico

Se os dados históricos são enviesados, o modelo aprende e amplifica o viés (ex.: crédito, contratação).

🔍

Transparência

Decisões que afetam pessoas devem ser explicáveis — evite "caixas-pretas" sem justificativa.

🔒

Privacidade (LGPD)

Dados pessoais exigem consentimento e proteção; anonimize quando possível.

👤

Supervisão humana

Mantenha uma pessoa responsável na decisão final, sobretudo em casos sensíveis.

🚨
Um modelo de ML reflete os dados com que foi treinado. Se o histórico é injusto, o modelo automatiza a injustiça em escala. Avaliar viés e impacto é parte do trabalho, não um extra.
📕 AULA 4 · Avaliação e prática
24

Estudo de caso: previsão de churn

Vamos amarrar tudo em um caso realista. Uma empresa de assinaturas quer reduzir o cancelamento (churn) de clientes.

  1. 1Negócio: a pergunta é "quais clientes têm alto risco de cancelar no próximo mês?". Sucesso = reduzir o churn em 10%.
  2. 2Dados: histórico de uso, tempo de contrato, número de chamados de suporte, plano, forma de pagamento e se cancelou (rótulo).
  3. 3Preparação: tratar vazios, codificar categorias (plano, pagamento) com One-Hot, escalonar features numéricas, criar a feature "chamados por mês".
  4. 4Modelagem: é classificação binária. Testamos regressão logística (baseline) e Random Forest.
  5. 5Avaliação: como perder um cliente é caro, priorizamos recall e F1. A floresta atinge recall 0,78 e F1 0,74 na validação cruzada.
  6. 6Decisão e ação: a lista de clientes de alto risco vai para o time de retenção, que oferece desconto ou contato proativo. Mede-se o churn antes e depois.

🎓 Fechamento da apostila

Você percorreu o caminho completo: o que é ML e seus tipos → algoritmos supervisionados (regressão, árvores, floresta, SVM) → não supervisionados (clustering, PCA, associação) → avaliação (métricas, validação cruzada) → prática em Python e aplicação à decisão. O próximo passo é colocar a mão na massa: pegue um dataset do Kaggle e reproduza o fluxo completo.

Supervisionado Não supervisionado scikit-learn Métricas Apoio à decisão
📚

Bibliografia

Bibliografia básica

  • AMARAL, Fernando. Introdução à ciência de dados: mineração de dados e Big Data. Rio de Janeiro: Alta Books, 2016.
  • CAIÇARA JUNIOR, Cícero. Sistemas integrados de gestão — ERP. Curitiba: IBPEX, 2008.
  • WESTERMAN, George. O risco de TI: convertendo ameaça aos negócios em vantagem competitiva. São Paulo: M. Books, 2008.

Bibliografia complementar

  • STAREC, Cláudio. Gestão estratégica da informação e inteligência competitiva. São Paulo: Saraiva, 2006.
  • MARQUESONE, Rosangela. Big Data: técnicas e tecnologias para extração de valor dos dados. São Paulo: Casa do Código, 2018.
  • SILVA, Leandro Augusto da. Introdução à mineração de dados com aplicações em R. Rio de Janeiro: Ediouro, 2016.
  • SOUZA, Amaranta de et al. Ciência de dados, Business Intelligence e Big Data: conceitos e aplicações. Paraná: Appris, 2021.
  • WICKHAM, Adler. R para Data Science: importe, arrume, transforme, visualize e modele dados. Rio de Janeiro: Alta Books, 2019.
ℹ️
Para aprofundar na prática, explore a documentação do scikit-learn e conjuntos de dados do Kaggle — ambos linkados na seção "Recursos complementares" da página da disciplina.