Scikit Learn - Bernoulli Naïve Bayes
Bernoulli Naïve Bayes é outro modelo útil de Bayes ingênuo. A suposição neste modelo é que os recursos são binários (0s e 1s) na natureza. Uma aplicação da classificação de Bernoulli Naïve Bayes é a classificação de texto com o modelo de 'saco de palavras'. O Scikit-learn fornecesklearn.naive_bayes.BernoulliNB implementar o algoritmo Gaussian Naïve Bayes para classificação.
Parâmetros
A tabela a seguir consiste nos parâmetros usados por sklearn.naive_bayes.BernoulliNB método -
Sr. Não | Parâmetro e Descrição |
---|---|
1 | alpha - flutuante, opcional, padrão = 1,0 Ele representa o parâmetro de suavização aditivo. Se você escolher 0 como valor, não haverá suavização. |
2 | binarize - flutuante ou nenhum, opcional, padrão = 0,0 Com este parâmetro, podemos definir o limite para a binarização de recursos de amostra. Binarização aqui significa mapeamento para os booleanos. Se você escolher seu valor como Nenhum, significa que a entrada consiste em vetores binários. |
3 | fit_prior - Booleano, opcional, padrão = verdadeiro Diz ao modelo se deve aprender as probabilidades anteriores da aula ou não. O valor padrão é True, mas se definido como False, os algoritmos usarão uma anterior uniforme. |
4 | class_prior - semelhante a matriz, tamanho (n_classes,), opcional, Padrão = Nenhum Este parâmetro representa as probabilidades anteriores de cada classe. |
Atributos
A tabela a seguir consiste nos atributos usados por sklearn.naive_bayes.BernoulliNB método -
Sr. Não | Atributos e descrição |
---|---|
1 | class_log_prior_ - matriz, forma (n_classes,) Ele fornece a probabilidade de log suavizada para cada classe. |
2 | class_count_ - matriz, forma (n_classes,) Ele fornece o número real de exemplos de treinamento encontrados para cada classe. |
3 | feature_log_prob_ - matriz, forma (n_classes, n_features) Ele fornece o log empírico de probabilidade de características dadas uma classe $ P \ left (\ begin {array} {c} features \ arrowvert Y \ end {array} \ right) $. |
4 | feature_count_ - matriz, forma (n_classes, n_features) Ele fornece o número real de exemplos de treinamento encontrados para cada (classe, recurso). |
Os métodos de sklearn.naive_bayes.BernoulliNB são os mesmos que usamos em sklearn.naive_bayes.GaussianNB.
Exemplo de Implementação
O script Python abaixo usará sklearn.naive_bayes.BernoulliNB método para construir o classificador Bernoulli Naïve Bayes de nosso conjunto de dados -
import numpy as np
X = np.random.randint(10, size = (10, 1000))
y = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
from sklearn.naive_bayes import BernoulliNB
BNBclf = BernoulliNB()
BNBclf.fit(X, y)
Resultado
BernoulliNB(alpha = 1.0, binarize = 0.0, class_prior = None, fit_prior = True)
Agora, uma vez ajustado, podemos prever o novo valor usando o método predict () da seguinte forma -
Exemplo
print((BNBclf.predict(X[0:5]))
Resultado
[1 2 3 4 5]