Classificador Naive Bayes: Prós e Contras, Aplicações e Tipos Explicados

Publicados: 2020-12-11

Quando você precisa de um algoritmo rápido de solução de problemas, onde você vai? Você vai para o classificador Naive Bayes. É um algoritmo rápido e simples que pode resolver vários problemas de classificação. Neste artigo, vamos entender o que é esse algoritmo, como funciona e quais são suas qualidades. Vamos começar.

Índice

O que é o classificador Naive Bayes?

O classificador Naive Bayes separa os dados em diferentes classes de acordo com o Teorema de Bayes, juntamente com a suposição de que todos os preditores são independentes uns dos outros. Ele assume que um recurso específico em uma classe não está relacionado à presença de outros recursos.

Por exemplo, você pode considerar uma fruta como uma melancia se for verde, redonda e tiver um diâmetro de 10 polegadas. Essas características podem depender umas das outras para sua existência, mas cada uma delas contribui de forma independente para a probabilidade de que a fruta em consideração seja uma melancia. É por isso que este classificador tem o termo 'Naive' em seu nome.

Esse algoritmo é bastante popular porque pode até superar técnicas de classificação altamente avançadas. Além disso, é bastante simples e você pode construí-lo rapidamente.

Aqui está o teorema de Bayes, que é a base para este algoritmo:

P(c | x) = P(x | c) P(c)/ P(x)

Nesta equação, 'c' significa classe e 'x' significa atributos. P(c/x) representa a probabilidade posterior de classe de acordo com o preditor. P(x) é a probabilidade anterior do preditor e P(c) é a probabilidade anterior da classe. P(x/c) mostra a probabilidade do preditor de acordo com a classe.

Leia: Naive Bayes explicado

Vantagens de Naive Bayes

  • Esse algoritmo funciona muito rápido e pode prever facilmente a classe de um conjunto de dados de teste.
  • Você pode usá-lo para resolver problemas de previsão de várias classes, pois é bastante útil com eles.
  • O classificador Naive Bayes tem um desempenho melhor do que outros modelos com menos dados de treinamento se a suposição de independência de recursos for válida.
  • Se você tiver variáveis ​​de entrada categóricas, o algoritmo Naive Bayes funciona excepcionalmente bem em comparação com variáveis ​​numéricas.

Desvantagens de Naive Bayes

  • Se seu conjunto de dados de teste tiver uma variável categórica de uma categoria que não estava presente no conjunto de dados de treinamento, o modelo Naive Bayes atribuirá a ela probabilidade zero e não poderá fazer nenhuma previsão a esse respeito. Esse fenômeno é chamado de 'Frequência Zero' e você terá que usar uma técnica de suavização para resolver esse problema.
  • Este algoritmo também é notório como um estimador ruim. Portanto, você não deve levar as saídas de probabilidade de 'predict_proba' muito a sério.
  • Ele assume que todos os recursos são independentes. Embora possa parecer ótimo em teoria, na vida real, você dificilmente encontrará um conjunto de recursos independentes.

Aplicações do Algoritmo Naive Bayes

Como você deve ter notado, esse algoritmo oferece muitas vantagens para seus usuários. É por isso que tem muitas aplicações em vários setores também. Aqui estão algumas aplicações do algoritmo Naive Bayes:

  • Como esse algoritmo é rápido e eficiente, você pode usá-lo para fazer previsões em tempo real.
  • Esse algoritmo é popular para previsões multiclasse. Você pode encontrar a probabilidade de várias classes de destino facilmente usando este algoritmo.
  • Os serviços de e-mail (como o Gmail) usam esse algoritmo para descobrir se um e-mail é spam ou não. Este algoritmo é excelente para filtragem de spam.
  • Sua suposição de independência de recursos e sua eficácia na resolução de problemas multiclasse o tornam perfeito para executar a Análise de Sentimentos. A Análise de Sentimentos refere-se à identificação de sentimentos positivos ou negativos de um grupo-alvo (clientes, público, etc.)
  • A Filtragem Colaborativa e o algoritmo Naive Bayes trabalham juntos para construir sistemas de recomendação. Esses sistemas usam mineração de dados e aprendizado de máquina para prever se o usuário gostaria de um determinado recurso ou não.

Leia também: Modelos de aprendizado de máquina explicados

Tipos de classificador Naive Bayes

Este algoritmo tem vários tipos. Aqui estão os principais:

Bernoulli Naive Bayes

Aqui, os preditores são variáveis ​​booleanas. Portanto, os únicos valores que você tem são 'True' e 'False' (você também pode ter 'Yes' ou 'No'). Usamos quando os dados estão de acordo com a distribuição multivariada de Bernoulli.

Multinomial Naive Bayes

As pessoas usam esse algoritmo para resolver problemas de classificação de documentos. Por exemplo, se você deseja determinar se um documento pertence à categoria 'Legal' ou 'Recursos Humanos', use este algoritmo para classificá-lo. Ele usa a frequência das palavras presentes como recursos.

Gaussiano Naive Bayes

Se os preditores não forem discretos, mas tiverem um valor contínuo, assumimos que eles são uma amostra de uma distribuição gaussiana.

Conclusão

Esperamos que você tenha achado este artigo útil. Se você tiver alguma dúvida relacionada ao algoritmo Naive Bayes, sinta-se à vontade para compartilhá-la na seção de comentários. Adoraríamos ouvir de você.

Se você estiver interessado em aprender mais sobre IA, aprendizado de máquina, confira o Diploma PG do IIIT-B e do upGrad em aprendizado de máquina e IA, projetado para profissionais que trabalham e oferece mais de 450 horas de treinamento rigoroso, mais de 30 estudos de caso e atribuições, Status de ex-aluno do IIIT-B, mais de 5 projetos práticos práticos e assistência de trabalho com as principais empresas.

Quais são as limitações do Naive Bayes?

O classificador Naive Bayes é um algoritmo usado para classificar novas instâncias de dados usando um conjunto de dados de treinamento conhecidos. É um bom algoritmo para classificação; no entanto, o número de recursos deve ser igual ao número de atributos nos dados. É computacionalmente caro quando usado para classificar um grande número de itens. Não é adequado para dados numéricos. Ele só pode funcionar quando os recursos são independentes uns dos outros. Não é adequado quando os valores de característica são nominais. Requer que os valores de característica sejam mutuamente exclusivos. Requer que a frequência dos valores de características seja proporcional à probabilidade de estarem corretos.

Qual é a maior vantagem e desvantagem dos classificadores Naive Bayes?

A maior vantagem do Naive Bayes é que ele pode trabalhar com conjuntos de dados muito pequenos. É um dos algoritmos mais populares para filtragem de spam. Além disso, é relativamente simples de implementar. É quase sempre usado como classificador. Se um conjunto de dados não estiver disponível, ainda é possível usá-lo como algoritmo de classificação. Este algoritmo é usado na filtragem de spam de e-mail, também é usado pelo Google para classificar páginas da web. No entanto, pode não ser tão eficaz em problemas de classificação mais complexos. Ele só pode funcionar quando os recursos são independentes uns dos outros.

Como faço para parar de overfitting em Naive Bayes?

Uma razão para o overfitting é ter os dados de treinamento errados. Se você tiver um conjunto de dados de treinamento com muito ruído e muitos exemplos de treinamento, o classificador examinará o ruído nos dados de treinamento e não o padrão subjacente para o qual você está tentando construir um modelo. Outra razão é que seu modelo é muito complexo. Se você tem um modelo em que uma pequena mudança na entrada pode causar uma grande mudança na saída, você pode obter um ajuste excessivo. Outra solução é usar a regularização. A regularização reduzirá ramificações longas em seu modelo. Ele suaviza o seu modelo e evita o overfitting.