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]