Classificador Naive Bayes

O que é o classificador Naive Bayes?

O classificador Naive Bayes é um modelo probabilístico simples baseado no teorema de Bayes. Ele assume que os atributos são condicionalmente independentes dada a classe alvo. Essa suposição “ingênua” (naive) simplifica drasticamente o cálculo das probabilidades. Apesar disso, ele funciona surpreendentemente bem em muitas aplicações reais. A regra de classificação é: classe = argmax P(classe) * ∏ P(atributoᵢ | classe). Ele é treinado estimando as probabilidades condicionais de cada atributo por classe. Para atributos contínuos, assume-se frequentemente uma distribuição normal (gaussiana). Para atributos discretos, usam-se frequências com suavização de Laplace. O Naive Bayes é rápido, escalável e fácil de implementar. Ele é amplamente usado em filtros de spam, análise de sentimentos e diagnóstico.

Características fundamentais do Naive Bayes

O Naive Bayes possui três características principais que o definem. Primeiro, ele é um modelo generativo: modela a distribuição conjunta P(classe, atributos). Segundo, a independência condicional reduz o número de parâmetros drasticamente. Terceiro, ele é robusto a atributos irrelevantes e a dados faltantes. A suposição de independência é forte, mas muitas vezes não prejudica a acurácia. Ele também produz probabilidades bem calibradas quando os dados são balanceados.

Vantagens e limitações típicas

A principal vantagem é a eficiência computacional e a baixa necessidade de dados. Ele é usado em classificação de textos, onde o número de atributos é enorme. Também é aplicado em sistemas de recomendação e previsão de churn. Contudo, a suposição de independência pode falhar em dados com forte correlação.

O Naive Bayes é um caso especial de rede bayesiana com estrutura em estrela. A classe é o nó raiz, e cada atributo é uma folha conectada diretamente a ela. O aprendizado de parâmetros é feito por ML ou MAP (com suavização). Para atributos binários, usa-se a distribuição de Bernoulli. Para atributos categóricos, usa-se a distribuição multinomial. Para atributos contínuos, a Gaussiana é a escolha mais comum. Existem variantes como o Multinomial Naive Bayes para contagens de palavras. E o Bernoulli Naive Bayes para presença/ausência de termos. O Naive Bayes é um bom baseline para problemas de classificação. Ele é surpreendentemente competitivo com métodos mais complexos. Sua interpretabilidade é alta: cada atributo contribui com um fator multiplicativo. A suavização de Laplace evita probabilidades zero para atributos não vistos. A escolha do parâmetro de suavização (α) controla a regularização. Assim, o Naive Bayes é uma ferramenta essencial no kit do cientista de dados.

Um exemplo clássico é a classificação de e-mails como spam ou não-spam. Atributos: presença de palavras como “grátis”, “urgente”, “clique aqui”. O Naive Bayes calcula a probabilidade de spam dada a presença dessas palavras. Ele é rápido e eficaz, mesmo com milhões de e-mails.


Enunciado do exemplo clássico

Implemente o classificador Naive Bayes gaussiano para o dataset Iris (todas as 4 características). Divida em treino (70%) e teste (30%). Calcule médias e variâncias por classe e por atributo. Classifique os dados de teste e calcule a acurácia, precisão e recall por classe. Plote a matriz de confusão e as distribuições condicionais para um atributo (ex.: comprimento da sépala).

Este código implementa o Naive Bayes gaussiano do zero. As médias e variâncias são estimadas por ML para cada classe e atributo. As distribuições condicionais mostram a separabilidade das classes. A matriz de confusão valida o bom desempenho do classificador. Para iniciantes, este exemplo conecta a teoria à prática de forma completa. O classificador Naive Bayes é, portanto, uma ferramenta poderosa e acessível.

Deixe um comentário