Escolar Documentos
Profissional Documentos
Cultura Documentos
Vooo – Insights
Data Science. Python. Gestão.
SafraPay
Traduzido de: 6 Easy Steps to Learn Naive Bayes Algorithm (with code in Python)
Introdução
Imagine uma situação como essa: você está trabalhando em um problema de classificação
e gerou o conjunto de hipóteses, criou os recursos e analisou a importância das variáveis.
E agora, em menos de uma hora, seu chefe quer ver o primeiro resultado do modelo.
O que você vai fazer? Você tem centenas de milhares de pontos de dados e muitas
variáveis no conjunto de dados de treinamento. Nessa situação, se estivesse em seu lugar,
eu teria usado ‘Naive Bayes’, que pode ser extremamente rápido em relação a outros
algoritmos de classificação. Ele usa o teorema de probabilidade de Bayes para prever a
classe de um conjunto de dados desconhecido.
https://www.vooo.pro/insights/6-passos-faceis-para-aprender-o-algoritmo-naive-bayes-com-o-codigo-em-python/ 1/10
14/04/2022 20:47 6 passos fáceis para aprender o algoritmo Naive Bayes (com o código em Python) – Vooo – Insights
Neste artigo, vamos explicar o básico deste algoritmo, para que da próxima vez que você
se deparar com grandes volumes de dados, você possa usar esse algoritmo. Além disso,
mesmo um novato em Python deveria se sentir bem com a quantidade de códigos
disponíveis neste artigo.
Índice
1. O que é o algoritmo Naive Bayes?
2. Como o algoritmo Naive Bayes funciona?
3. Quais são os prós e os contras do uso de Naive Bayes?
4. Aplicações de Algoritmo Naive Bayes
5. Passos para construir um modelo básico Naive Bayes em Python
6. Dicas para melhorar o poder do modelo Naive Bayes
O modelo Naive Bayes é fácil de construir e particularmente útil para grandes volumes de
dados. Além de simples, Naive Bayes é conhecido por ganhar de métodos de classificação
altamente sofisticados.
https://www.vooo.pro/insights/6-passos-faceis-para-aprender-o-algoritmo-naive-bayes-com-o-codigo-em-python/ 2/10
14/04/2022 20:47 6 passos fáceis para aprender o algoritmo Naive Bayes (com o código em Python) – Vooo – Insights
Acima,
Passo 3: Agora, use a equação Bayesiana Naive para calcular a probabilidade posterior
para cada classe. A classe com maior probabilidade posterior é o resultado da previsão.
https://www.vooo.pro/insights/6-passos-faceis-para-aprender-o-algoritmo-naive-bayes-com-o-codigo-em-python/ 3/10
14/04/2022 20:47 6 passos fáceis para aprender o algoritmo Naive Bayes (com o código em Python) – Vooo – Insights
Problema: Os jogadores irão jogar se o tempo está ensolarado. Esta afirmação está
correta?
Aqui temos P (Ensolarado | Sim) = 3/9 = 0,33, P (Ensolarado) = 5/14 = 0,36, P (Sim) = 9/14 =
0,64
Agora, P (Sim | Ensolarado) = 0,33 * 0,64 / 0,36 = 0,60, que tem maior probabilidade.
Naive Bayes usa um método similar para prever a probabilidade de classe diferente com
base em vários atributos. Este algoritmo é usado principalmente em classificação de texto
e com os problemas que têm múltiplas classes.
É fácil e rápido para prever o conjunto de dados da classe de teste. Também tem
um bom desempenho na previsão de classes múltiplas.
Quando a suposição de independência prevalece, um classificador Naive Bayes
tem melhor desempenho em comparação com outros modelos como regressão
logística, e você precisa de menos dados de treinamento.
O desempenho é bom em caso de variáveis categóricas de entrada comparada
com a variáveis numéricas. Para variáveis numéricas, assume-se a distribuição
normal (curva de sino, que é uma suposição forte).
Contras:
Se a variável categórica tem uma categoria (no conjunto de dados de teste) que
não foi observada no conjunto de dados de treinamento, então o modelo irá
atribuir uma probabilidade de 0 (zero) e não será capaz de fazer uma previsão.
Isso é muitas vezes conhecido como “Zero Frequency”. Para resolver isso,
podemos usar a técnica de alisamento. Uma das técnicas mais simples de
alisamento é a chamada estimativa de Laplace.
Por outro lado naive Bayes é também conhecido como um mau estimador, por
isso, as probabilidades calculadas não devem ser levadas muito a sério.
Outra limitação do Naive Bayes é a suposição de preditores independentes. Na
vida real, é quase impossível que ter um conjunto de indicadores que sejam
completamente independentes.
https://www.vooo.pro/insights/6-passos-faceis-para-aprender-o-algoritmo-naive-bayes-com-o-codigo-em-python/ 4/10
14/04/2022 20:47 6 passos fáceis para aprender o algoritmo Naive Bayes (com o código em Python) – Vooo – Insights
Multinomial: É usado para contagem discrete. Por exemplo, digamos que temos um
problema de classificação de texto. Aqui podemos considerar tentativas de Bernoulli, que
é um passo além e, em vez de “palavra que ocorre no documento”, temos “contar quantas
vezes a palavra ocorre no documento”, você pode pensar nisso como “número de vezes
que o número desfecho x_i é observado durante as n tentativas “.
Bernoulli: O modelo binomial é útil se os vetores são binários (ou seja zeros e uns). Uma
aplicação seria de classificação de texto com um modelo de ‘saco de palavras’ onde os 1s e
0s são “palavra ocorre no documento” e “palavra não ocorre no documento”,
respectivamente.
Com base no seu conjunto de dados, você pode escolher qualquer um modelo acima
discutidos. Abaixo está o exemplo de modelo de Gauss.
https://www.vooo.pro/insights/6-passos-faceis-para-aprender-o-algoritmo-naive-bayes-com-o-codigo-em-python/ 5/10
14/04/2022 20:47 6 passos fáceis para aprender o algoritmo Naive Bayes (com o código em Python) – Vooo – Insights
Código Python
import numpy as np
model = GaussianNB()
model.fit(x, y)
#Resultado de previsão
predicted= model.predict([[1,2],[3,4]])
print(predicted)
Output: ([3,4])
Acima, nós vemos o modelo Naive Bayes básico. Você pode melhorar o poder deste
modelo básico ajustando parâmetros de lidando com premissas de forma inteligente.
Vejamos os métodos para melhorar o desempenho do Naive Bayes Modelo. Eu
recomendo que você passar por este documento para obter mais detalhes sobre a
classificação de texto usando Naive Bayes.
https://www.vooo.pro/insights/6-passos-faceis-para-aprender-o-algoritmo-naive-bayes-com-o-codigo-em-python/ 6/10
14/04/2022 20:47 6 passos fáceis para aprender o algoritmo Naive Bayes (com o código em Python) – Vooo – Insights
Classificadores Naive Bayes têm opções limitadas para ajuste de parâmetros como
alfa = 1 para alisamento, fit_prior = [Verdade | Falso] para saber a classe de
probabilidades anteriores ou não e algumas outras opções. Eu recomendaria focar
no pré-processamento de dados e seleção de recursos.
Você poderia pensar que aplicar alguma técnica combinação classificador como
“ensembling”, “bagging” e “boosting”, mas na prática esses métodos não
ajudariam. Na verdade, não ajudariam pois sua finalidade é reduzir a variância.
Naive Bayes não tem variância para minimizar.
Notas finais
Neste artigo, nós olhamos um dos algoritmos de machine learning supervisionado
chamado “Naive Bayes”, usado principalmente para a classificação. Parabéns, se você tiver
entendido completamente este artigo, você já deu o primeiro passo para dominar este
algoritmo. A partir daqui, tudo que você precisa é de prática.
Veja também:
Guia de acesso rápido Python – Matplotlib
Breve introdução ao Python
Participantes do mercado de pagamentos
Compartilhe isso:
Relacionado
https://www.vooo.pro/insights/6-passos-faceis-para-aprender-o-algoritmo-naive-bayes-com-o-codigo-em-python/ 7/10
14/04/2022 20:47 6 passos fáceis para aprender o algoritmo Naive Bayes (com o código em Python) – Vooo – Insights
MARCADO análise de dados analytics bayes Data Science Estatistica naive bayes Python; naive bayes
Pesquisa
Posts recentes
BIN
SumUp
Alelo
SafraPay
Tudo que você ainda não sabe sobre os serviços iFood
Arquivos
fevereiro 2022
janeiro 2022
outubro 2021
setembro 2021
agosto 2021
julho 2021
abril 2021
março 2021
fevereiro 2021
janeiro 2021
dezembro 2020
julho 2020
maio 2020
janeiro 2020
junho 2019
https://www.vooo.pro/insights/6-passos-faceis-para-aprender-o-algoritmo-naive-bayes-com-o-codigo-em-python/ 8/10
14/04/2022 20:47 6 passos fáceis para aprender o algoritmo Naive Bayes (com o código em Python) – Vooo – Insights
maio 2019
abril 2019
março 2019
janeiro 2019
novembro 2018
setembro 2018
junho 2018
maio 2018
abril 2018
janeiro 2018
dezembro 2017
setembro 2017
agosto 2017
junho 2017
maio 2017
abril 2017
março 2017
dezembro 2016
novembro 2016
outubro 2016
setembro 2016
agosto 2016
julho 2016
maio 2016
abril 2016
https://www.vooo.pro/insights/6-passos-faceis-para-aprender-o-algoritmo-naive-bayes-com-o-codigo-em-python/ 9/10
14/04/2022 20:47 6 passos fáceis para aprender o algoritmo Naive Bayes (com o código em Python) – Vooo – Insights
https://www.vooo.pro/insights/6-passos-faceis-para-aprender-o-algoritmo-naive-bayes-com-o-codigo-em-python/ 10/10