Supervisionada, Não Supervisionada e Avaliação de Modelos
Em ciência de dados e inteligência artificial, análise descritiva é o processo de examinar dados para entender padrões, comportamentos e características do passado ou presente, sem fazer previsões — é como tirar uma fotografia dos dados.
Já a análise preditiva usa esses dados, junto com algoritmos ou modelos estatísticos, para estimar ou prever eventos futuros, como identificar tendências ou antecipar resultados. Enquanto a descritiva responde "o que está acontecendo?", a preditiva tenta responder "o que provavelmente vai acontecer?".
Tarefas Preditivas (Supervisionadas)
- Utilizam exemplos com rótulos conhecidos para aprender uma função que será usada em previsões futuras.
- Dividem-se em:
- Classificação: predição de categorias ou classes (ex: spam ou não-spam).
- Regressão: predição de valores numéricos contínuos (ex: valor de uma casa, temperatura).
Naive Bayes
Naive Bayes é um algoritmo de aprendizado supervisionado baseado no Teorema de Bayes, com a suposição “ingênua” de que os atributos são independentes entre si.
Ele calcula a probabilidade de uma instância pertencer a uma determinada classe, dado os valores dos atributos, e escolhe a classe com maior probabilidade.
Características:
- Baseado em probabilidades condicionais
- Assume independência entre os atributos
- Muito usado em classificação de texto (ex.: spam x não spam)
- Rápido, simples e eficiente, mesmo com grandes volumes de dados
- Tipo de aprendizado: Supervisionado
- Tipo de tarefa: Classificação
- Não é comum usar Naive Bayes para regressão.
- Na prática, Naive Bayes é aplicado quase exclusivamente em tarefas de classificação.
Modelo | Tipo de Atributo | Características Principais | Exemplos de Aplicação |
---|---|---|---|
Gaussian | Contínuos (numéricos) | Assume distribuição normal (gaussiana); usa média e desvio padrão | Classificação com altura, peso, idade |
Multinomial | Discretos (contagem) | Usado para contagens; considera frequência dos atributos | Classificação de texto, spam, TF-IDF |
Bernoulli | Binários (0 ou 1) | Atributos booleanos; considera apenas presença ou ausência | Texto binário: palavra aparece ou não |
Questão Cebraspe
No aprendizado supervisionado, os algoritmos de Naive Bayes e o de máquinas de vetores de suporte são utilizados tanto na classificação quanto na regressão.
Gabarito: ERRADO
Justificativa:
- Naive Bayes é usado principalmente para classificação, e não é tipicamente utilizado para regressão.
Árvores de Decisão
Árvores de Decisão são modelos de aprendizado supervisionado usados para tarefas de classificação e regressão.
Funcionam como um conjunto de regras em forma de árvore: a cada nó, uma decisão é tomada com base em um atributo, levando a diferentes ramos até se chegar a uma previsão final (folha).
Tarefa | Exemplo prático |
---|---|
Classificação | Diagnóstico médico (doença x saudável) |
Regressão | Previsão de preços de imóveis |
- Utilizam atributos de entrada (variáveis) para gerar regras de decisão do tipo "se... então...".
- São modelos interpretabis, com estrutura em forma de árvore binária (mais comum).
- O critério de divisão mais comum é a impureza de Gini ou a entropia (ID3/C4.5).
- Podem sofrer de overfitting, mas isso é mitigado com técnicas como poda (pruning).
- São base de modelos mais complexos como:
- Random Forest (conjunto de árvores)
- Gradient Boosting (como XGBoost, LightGBM)
Não exige normalização de dados
Sensível a ruídos e variações nos dados
Tende a superajustar (overfitting) se não for podada
O algoritmo de aprendizagem supervisionada random forest é baseado na criação de múltiplas árvores de decisão; cada árvore é construída a partir de uma amostra aleatória com reposição dos dados de treinamento.
Exemplos de algoritmos baseados em Árvores:
- ID3: Usa entropia como critério de divisão
- C4.5: Evolução do ID3, lida com dados contínuos
- CART: Usa índice Gini; permite classificação e regressão
- ✅ Árvores de Decisão são usadas em classificação e regressão.
- ✅ Utilizam critérios como índice Gini ou entropia para construir regras.
- ❌ Errado dizer que só servem para classificação.
- ❌ Errado afirmar que exigem normalização dos dados.
Entropia é uma medida de impureza ou incerteza em um conjunto de dados.
KNN
KNN (K-Nearest Neighbors) é um algoritmo de aprendizado supervisionado, usado para classificação e regressão.
Dado um novo exemplo, o algoritmo compara sua distância com os exemplos de treinamento e toma a decisão com base nos K vizinhos mais próximos.
É um algoritmo não paramétrico, ou seja, assume uma estrutura fixa e limitada, com um número definido de parâmetros (ex: regressão linear).
Tarefas que pode resolver:
Tarefa | Exemplo prático |
---|---|
Classificação | Identificar se uma imagem é de gato ou cachorro |
Regressão | Estimar o valor de um imóvel baseado nos vizinhos |
Resumo:
- É um algoritmo baseado em instância (lazy learner), ou seja, não possui fase de treinamento explícita.
- O algoritmo armazena os dados de treinamento e só realiza o processamento no momento da predição.
- A distância mais usada é a Euclidiana, mas outras podem ser aplicadas (Manhattan, Minkowski etc).
- O valor de K (número de vizinhos considerados) influencia diretamente a precisão:
- K pequeno → mais sensível a ruído
- K grande → mais generalizado
- Não funciona bem com grandes volumes de dados sem otimizações.
SVM
O SVM (Máquina de Vetores de Suporte) é um algoritmo de aprendizado supervisionado usado para tarefas de classificação e também regressão (neste caso, chamado de SVR – Support Vector Regression).
Seu objetivo é encontrar um hiperplano ótimo que separe as classes com a maior margem possível, ou seja, com a maior distância entre os dados de classes diferentes.
Tarefa | Exemplo prático |
---|---|
Classificação | Diagnóstico de doenças (positivo x negativo) |
Regressão | Previsão de preços (SVR) |
Resumo
- O hiperplano é a fronteira de decisão que separa os dados.
- Os vetores de suporte são os pontos mais próximos da margem de separação — eles definem o modelo.
- Funciona bem em dados com alta dimensionalidade (muitos atributos).
- Pode usar funções kernel (ex: linear, polinomial, RBF) para lidar com dados não linearmente separáveis.
- O SVM é um modelo robusto contra overfitting, especialmente em dados com poucas amostras.
Vantagens:
- Eficiente em espaços de alta dimensão
- Robusto contra overfitting (principalmente com margem grande)
- Funciona bem com margens claras entre classes
Desvantagens:
- Pode ser lento para grandes bases de dados
- Menos eficaz quando há muita sobreposição entre classes
- Requer ajuste de hiperparâmetros (como o C e o kernel)
Classificação
Quando desejamos que o agente de aprendizado supervisionado associe entradas a categorias ou rótulos pré-definidos, como “spam” ou “não spam”, tratamos o problema como uma classificação.
Classificação lida com categorias (classes): Ex: [“gato”, “cachorro”], [“aprovado”, “reprovado”].
Regressão
Quando desejamos que o agente associe entradas a valores numéricos contínuos, como o preço de uma ação, a temperatura de amanhã ou o tempo de viagem, dizemos que se trata de um problema de regressão.
Regressão lida com números contínuos: Ex: [1.5, 2.7, 3.0...].
Variável Qualitativa
Representam categorias ou atributos que não são numéricos (embora possam ser codificados com números).
- Nominal - Cor dos olhos.
- Ordinal - Grau de escolaridade.
Variável Quantitativa
Representam valores numéricos, sendo mensuráveis e sujeitas a operações matemáticas.
- Discreta - Assume valores inteiros, geralmente contagens - Ex: Número de filhos, peças.
- Contínua - Pode assumir qualquer valor real dentro de um intervalo - Ex: Altura, peso, tempo
Tarefas Descritivas (Não supervisionadas)
- Objetivo: desenvolver algoritmos que descrevam padrões ocultos nos dados.
- Não há rótulos (classes) disponíveis.
- Exemplo clássico: agrupamento (clustering).
- Principais algoritmos:
- K-means: agrupa dados com base na proximidade a centróides.
- PCA (Análise de Componentes Principais): reduz a dimensionalidade dos dados mantendo variância.
Overfitting (Sobreajuste)
- Ocorre quando o modelo aprende "demais" os dados de treino (inclusive os ruídos).
- Resulta em ótimo desempenho no treino, mas fraco em dados novos (teste).
- Causado por:
- Poucos dados de treino
- Modelo muito complexo
- Prevenção:
- Pré-poda / Pós-poda em árvores de decisão
- Validação cruzada
- Regularização
Underfitting (Subajuste)
- Ocorre quando o modelo é incapaz de aprender os padrões dos dados de treinamento.
- Resulta em baixo desempenho tanto no treino quanto no teste.
- Causado por:
- Modelo muito simples para a complexidade dos dados
- Poucos atributos relevantes (subrepresentação)
- Treinamento insuficiente
- Prevenção:
- Utilizar modelos mais complexos ou expressivos
- Adicionar atributos (feature engineering)
- Ajustar melhor os parâmetros de treinamento
- Evitar excesso de regularização