Classificação Binária

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
 

Deixe um comentário