Multiclasse

população
1.1 – Supervisionado
1.1.2 – Classificacao
1.1.2.2 – Multiclasse
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

O que é aprendizado de máquina supervisionado?

O aprendizado de máquina supervisionado é um tipo de inteligência artificial. Nele, um modelo é treinado com exemplos rotulados. Cada exemplo possui uma “resposta correta” conhecida. Por exemplo, podemos ensinar um computador a reconhecer flores. As características da flor são fornecidas como entrada. O nome da espécie é usado como rótulo de saída. Esse método é amplamente utilizado para classificação. Ele pode ser aplicado a duas ou mais categorias.

Como funciona a classificação multiclasse?

Na classificação multiclasse, existem mais de duas categorias possíveis. Diferente do problema binário (sim/não), aqui há várias opções. O modelo deve escolher uma entre muitas classes. Por exemplo, um e-mail pode ser “trabalho”, “pessoal” ou “spam”. Esse tipo de tarefa é comum no dia a dia. Uma técnica simples é o “um versus resto”. Nela, treinamos um classificador para cada classe. A classe com maior confiança é escolhida pelo sistema. Outra abordagem é o “um versus um”. Nela, todos os pares de classes são comparados entre si. Métodos como redes neurais também são frequentemente usados.

Exemplo prático: a flor íris

O conjunto de dados da flor íris é um clássico no ensino. Ele foi introduzido pelo estatístico Ronald Fisher em 1936. Esse dataset contém 150 amostras de flores. Cada amostra possui quatro medidas: sépala e pétala (comprimento/largura). Existem três espécies diferentes: setosa, versicolor e virginica. Portanto, este é um problema de classificação multiclasse. As espécies podem ser distinguidas pelas medidas. Um algoritmo supervisionado aprende essa relação automaticamente. Primeiramente, os dados são divididos em treino e teste. O modelo é treinado apenas com os dados de treino. Em seguida, ele é avaliado nos dados de teste. As previsões são comparadas com os rótulos reais. A acurácia é calculada para medir o desempenho.

Passos para criar um modelo com íris

Inicialmente, as bibliotecas Python como scikit-learn são carregadas. O dataset íris é importado diretamente dessas ferramentas. Depois, as características (X) e os rótulos (y) são separados. Uma divisão comum é 70% para treino e 30% para teste. Essa separação é feita de maneira aleatória pelo computador. O modelo escolhido pode ser uma árvore de decisão, por exemplo. Esse algoritmo é treinado com o método fit(Xtreino, ytreino). Após o treinamento, as previsões são geradas com predict(X_teste). A matriz de confusão é usada para visualizar erros. Por exemplo, quantas virginica foram confundidas com versicolor. Muitas métricas podem ser calculadas, como precisão e recall. O modelo final é salvo para prever novas flores. Novas medidas podem ser inseridas para classificação instantânea. Esse fluxo é padrão para problemas semelhantes.

Por que esse exemplo é útil para iniciantes?

O dataset íris é pequeno, limpo e bem documentado. Ele não exige muito poder computacional para ser processado. Além disso, as três classes são relativamente fáceis de separar. Por causa disso, os erros de aprendizado são facilmente interpretados. Gráficos simples podem mostrar as fronteiras de decisão. Essa visualização ajuda a entender o conceito de classificação. O exemplo é frequentemente usado em cursos e tutoriais. Ele permite focar na lógica, não em detalhes técnicos. Portanto, é o ponto de partida ideal para iniciantes. Após dominar a íris, outros problemas reais podem ser atacados. O conhecimento adquirido é transferido para áreas como medicina ou finanças. A classificação multiclasse está presente em muitos sistemas atuais. Desde reconhecimento de objetos até diagnósticos médicos.  

Observações Finais

No exemplo abaixo a primeira camada tem 4 neurônios pois temos 4 caracteristicas e temos 3 neuronios na última camada pois temos 3 categorias possiveis como resultado.    

Classificação Binária

pet
1 – Aprendizado de Maquina
1.1.2 – Classificacao
1.1.2.1 – Binaria
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura
 

Duas opções, uma decisão

Classificação binária é a forma mais simples de classificação, com apenas duas categorias possíveis. O modelo decide entre duas classes mutuamente exclusivas como “sim” ou “não”. Por exemplo, determinar se um e-mail é spam ou não spam. Primeiramente, essa simplicidade torna a classificação binária ideal para iniciantes. Além disso, muitos problemas complexos podem ser decompostos em múltiplos problemas binários. A saída geralmente representa a probabilidade de pertencer à classe positiva. É o ponto de partida fundamental para entender classificação supervisionada.

Limiar de decisão e probabilidades

A maioria dos classificadores binários produz uma probabilidade entre 0 e 1 como saída. Primeiramente, o limiar padrão é 0,5: acima disso classe positiva, abaixo classe negativa. Além disso, podemos ajustar esse limiar para diferentes necessidades operacionais. Por exemplo, em diagnósticos médicos, preferimos um limiar mais baixo para não perder casos. Limiares mais altos produzem menos falsos positivos, mas podem perder casos verdadeiros. A curva ROC mostra o desempenho do modelo em todos os limiares possíveis. A escolha do limiar reflete o equilíbrio entre diferentes tipos de erro.

Métricas essenciais para problemas binários

Avaliar classificadores binários exige métricas que capturam os diferentes tipos de erro possíveis. A matriz de confusão organiza resultados em quatro categorias: VP, VN, FP, FN. Primeiramente, verdadeiros positivos (VP) são acertos na classe positiva. Verdadeiros negativos (VN) são acertos na classe negativa. Além disso, falsos positivos (FP) são erros do tipo alarme falso. Falsos negativos (FN) são erros onde o modelo perdeu casos positivos. Precisão e recall derivam dessas quantidades para avaliação detalhada. F1-score combina precisão e recall em uma única métrica balanceada.

Desbalanceamento de classes

Problemas binários frequentemente sofrem com desbalanceamento entre as duas classes. Por exemplo, fraudes representam menos de 1% das transações bancárias. Primeiramente, um modelo que sempre prevê “não fraude” tem acurácia de 99%. Além disso, métricas como acurácia se tornam enganosas em dados desbalanceados. Técnicas como sobreamostragem (oversampling) criam cópias da classe minoritária. Subamostragem (undersampling) reduz exemplos da classe majoritária para equilíbrio. Algoritmos sensíveis a custo atribuem pesos diferentes para cada classe. O desbalanceamento exige cuidado especial na avaliação e treinamento do modelo.

Aplicações práticas da classificação binária

Classificação binária está presente em sistemas críticos que exigem decisões rápidas. Primeiramente, detecção de fraudes analisa transações bancárias em tempo real. Além disso, diagnóstico médico classifica exames como normais ou alterados. Sistemas de segurança usam classificação binária para reconhecimento facial autorizado. Filtros de conteúdo identificam comentários ofensivos ou apropriados para publicação. Na indústria, sistemas inspecionam produtos como “defeituoso” ou “sem defeitos”. Para iniciantes, classificação binária oferece aplicações práticas imediatas e compreensíveis. É a base sobre a qual muitos sistemas inteligentes realizam decisões críticas.

Descrição do Problema

Este é um problema clássico de Aprendizado de Máquina Supervisionado onde o objetivo é classificar tumores de mama como Malignos (cancerígenos) ou Benignos (não cancerígenos) com base em características extraídas de imagens de exames.
🎯 Objetivo: Construir um modelo preditivo que possa auxiliar médicos no diagnóstico precoce de câncer de mama, identificando automaticamente se um tumor é maligno ou benigno com alta precisão.
 
Dataset – Breast Cancer Wisconsin
O dataset contém 569 amostras de tumores de mama, cada uma descrita por 30 características numéricas calculadas a partir de imagens digitalizadas.

Distribuição das Classes

🔴 Maligno (0): 212 amostras (37.3%) 🟢 Benigno (1): 357 amostras (62.7%)

Tipos de Features

• Raio (radius) • Textura (texture) • Perímetro (perimeter) • Área (area) • Suavidade (smoothness) • Compacidade (compactness) • Concavidade (concavity) • Simetria (symmetry)

Arquitetura do Modelo

Utilizamos o algoritmo Random Forest Classifier, um método ensemble que combina múltiplas árvores de decisão para obter predições mais robustas e precisas.
RandomForestClassifier( n_estimators=100, # Número de árvores na floresta max_depth=10, # Profundidade máxima das árvores random_state=42, # Seed para reprodutibilidade n_jobs=-1 # Usa todos os processadores )

Pipeline de Processamento

1️⃣ Pré-processamento

• Padronização dos dados (StandardScaler) • Média = 0, Desvio Padrão = 1 • Divisão treino/teste (80/20)

2️⃣ Treinamento

• Random Forest com 100 árvores • Validação cruzada (5-fold) • GridSearch para otimização

3️⃣ Avaliação

• Acurácia • ROC-AUC • Matriz de Confusão • Relatório de Classificação

⚙️ Hiperparâmetros do Modelo

Hiperparâmetros Principais:

Hiperparâmetro Valor Padrão Valor Otimizado Descrição
n_estimators 100 200 Número de árvores de decisão na floresta
max_depth 10 15 Profundidade máxima de cada árvore
min_samples_split 2 5 Número mínimo de amostras para dividir um nó
min_samples_leaf 1 2 Número mínimo de amostras em um nó folha
max_features ‘sqrt’ ‘sqrt’ Número de features para melhor divisão

GridSearch – Espaço de Busca:

param_grid = { ‘n_estimators’: [50, 100, 200], # Número de árvores ‘max_depth’: [5, 10, 15, None], # Profundidade das árvores ‘min_samples_split’: [2, 5, 10] # Amostras para divisão }

📈 Métricas de Avaliação

✅ Acurácia

Proporção de predições corretas: (VP + VN) / (VP + VN + FP + FN) Resultado esperado: ~96-98%

📊 ROC-AUC

Capacidade de distinguir entre classes: Área sob a curva ROC Resultado esperado: ~0.99

🎯 Precisão (Precision)

Taxa de verdadeiros positivos entre os preditos positivos: VP / (VP + FP)

📐 Recall (Sensibilidade)

Capacidade de encontrar todos os positivos: VP / (VP + FN)
 

Resultados Esperados

🏆 Performance do Modelo

• Acurácia: 96-98% • ROC-AUC: >0.99 • Precisão: ~97% • Recall: ~96% • F1-Score: ~96%

⏱️ Tempo de Processamento

• Treinamento: ~2-5 segundos • Predição: <0.1 segundo • GridSearch: ~30-60 segundos