Aqui está uma situação que você está:
Você está trabalhando em um problema de classificação e você gerou o seu conjunto de hipóteses, criou características e discuti a importância de variáveis. Dentro de uma hora, as partes interessadas querem ver o primeiro corte do modelo.
O que você vai fazer? Você tem hunderds de milhares de pontos de dados e algumas variáveis no conjunto de dados de treinamento. Em tal 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 funciona em teorema de Bayes de probabilidade para prever a classe de conjunto de dados desconhecido.
Neste artigo, vou explicar o básico deste algoritmo, para que da próxima vez que você se deparar com grandes conjuntos de dados, você pode trazer este algoritmo para a ação.
Índice:
- O que é algoritmo Naive Bayes?
- Como o Algoritmo Naive Bayes funciona?
- Quais são os Prós e Contras do uso de Naive Bayes?
- 4 Aplicações do Algoritmo Naive Bayes
- Passos para construir um modelo Naive Bayes básico em Python
- Dicas para melhorar a força do modelo Naive Bayes
O que é o algoritmo Naive Bayes?
É uma técnica de classificação baseado no teorema de Bayes com uma suposição de independência entre os preditores. Em termos simples, um classificador Naive Bayes assume que a presença de uma característica particular, uma classe não está relacionada com a presença de qualquer outro recurso. Por exemplo, um fruto pode ser considerado como uma maçã se é vermelho, redondo, e cerca de 3 polegadas de diâmetro. Mesmo que esses recursos dependem uns dos outros ou sobre a existência de outras características, todas estas propriedades contribuem de forma independente para a probabilidade de que este fruto é uma maçã e é por isso que é conhecido como 'Naive'.
modelo Naive Bayes é fácil de construir e particularmente útil para grandes conjuntos de dados. Junto com simplicidade, Naive Bayes é conhecido por superar métodos de classificação mesmo altamente sofisticados.
Teorema de Bayes fornece uma forma de calcular a probabilidade posterior P (C | X) a partir de P (C), P (x) e P (X | c). Olhe para a equação abaixo:
Acima,
P(c|x) é a probabilidade posterior da classe (c, alvo) dada preditor (x, atributos).
P(c) é a probabilidade prior de classe.
P(x|c) é a probabilidade que representa a probabilidade de preditor dada classe.
P(x) é a probabilidade prior de preditor.
Como o Algoritmo Naive Bayes funciona?
Vamos entender isso usando um exemplo. Abaixo eu tenho um conjunto de dados de treinamento do tempo e do destino da variável 'Play' correspondente (sugerindo possibilidades de jogar). Agora, precisamos classificar se os jogadores vão jogar ou não com base na condição do tempo. Vamos seguir os passos abaixo para realizar a operação.
Passo 1: Converter o conjunto de dados em uma tabela de frequência
Passo 2: Criar tabela de Probabilidade de encontrar as probabilidades como probabilidade Nublado = 0,29 e probabilidade de jogar é 0,64.
Passo 3: Agora, usar a equação Naive Bayesian para calcular a probabilidade posterior para cada classe. A classe com maior probabilidade posterior é o resultado de previsão.
Problema: Os jogadores irão jogar se o tempo está ensolarado. É esta afirmação está correta?
Podemos resolver isso usando acima método discutido de probabilidade posterior.
Probabilidade de jogar no sol.
Probabilidade de jogar Nublado
P(Sim | Nublado) = P( Nublado | Sim) * P(Sim) / P (Nublado)
P(Nublado |Sim) = 4/9 = 0.44
P( Sim)= 9/14 = 0.64
P(Nublado) = 4/14 = 0.29
P (Sim | Nublado) = 0.44 * 0.64 / 0.29 =0,97
Probabilidade de jogar na Chuva
P(Sim | Chuva) = P( Chuva | Sim) * P(Sim) / P (Chuva)
P(Chuva |Sim) = 2/9 = 0.22
P( Sim)= 9/14 = 0.64
P(Chuva) = 5/14 = 0.36Naive 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.
P (Sim | Chuva) = 0.22 * 0.64 / 0.36 =0,39
Aplicações de Naive Bayes Algoritmos
- Previsão em tempo real: Naive Bayes é um classificador de aprendizagem ansiosa e é certo rapidamente. Assim, ela pode ser usada para fazer previsões em tempo real.
- Multi classe Previsão : Este algoritmo também é conhecida por multi critério de previsão de classe. Aqui podemos prever a probabilidade de múltiplas classes de variável-alvo.
- Classificação de textos / Filtragem de spam / Análise de sentimento: Naive Bayes classificadores utilizados principalmente em classificação de textos (devido a um melhor resultado em problemas de classe múltiplas e regra independência) têm maior taxa de sucesso em comparação com outros algoritmos. Como resultado, ele é amplamente utilizado na filtragem de spam (identificar spam e-mail) e Sentiment Analysis (em análise de mídia social, para identificar sentimentos positivos e negativos dos clientes)
- Recomendação Sistema: Naive Bayes classificador e filtragem colaborativa em conjunto constrói um sistema de recomendação que utiliza técnicas de aprendizado de máquina e mineração de dados para filtrar a informação invisível e prever se um usuário gostaria de um determinado recurso ou não.
Como construir um modelo básico usando Naive Bayes em Python?
Mais uma vez, scikit learn (biblioteca python) vai ajudar construir um modelo Naive Bayes em Python. Existem três tipos de modelo Naive Bayes sob o scikit learn biblioteca:
Gaussian: É usado na classificação e assume que as características seguem uma distribuição normal.
Multinomial: É usado para a contagem discretos. Por exemplo, vamos dizer, nós 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 os ensaios n ".
Bernoulli: O modelo binomial é útil se os vetores de características são binários (ou seja zeros e uns). Uma aplicação seria de classificação de texto com 'saco de palavras' modelo 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 Gaussian.
Fonte



Nenhum comentário:
Postar um comentário