Scikit Learn - Complement Naïve Bayes

Outro modelo Bayes ingênuo útil que foi projetado para corrigir as suposições severas feitas pelo classificador Bayes Multinomial. Este tipo de classificador NB é adequado para conjuntos de dados desequilibrados. O Scikit-learn fornecesklearn.naive_bayes.ComplementNB 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.ComplementNB 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

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. Este parâmetro é usado apenas em casos extremos com uma única classe no conjunto de dados de treinamento.

3

class_prior - tamanho (n_classes,), opcional, Padrão = Nenhum

Este parâmetro representa as probabilidades anteriores de cada classe.

4

norm - Booleano, opcional, padrão = False

Diz ao modelo se deve realizar a segunda normalização dos pesos ou não.

Atributos

A tabela a seguir consiste nos atributos usados ​​por sklearn.naive_bayes.ComplementNB método -

Sr. Não Atributos e descrição
1

class_log_prior_ - matriz, forma (n_classes,)

Ele fornece a probabilidade de log empírica suavizada para cada classe. Este atributo é usado apenas em casos extremos com uma única classe no conjunto de dados de treinamento.

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)

Fornece pesos empíricos para os componentes da classe.

4

feature_count_ - matriz, forma (n_classes, n_features)

Ele fornece o número real de exemplos de treinamento encontrados para cada (classe, recurso).

5

feature_all_ - matriz, forma (n_features,)

Ele fornece o número real de exemplos de treinamento encontrados para cada recurso.

Os métodos de sklearn.naive_bayes.ComplementNB 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 -

Exemplo

import numpy as np
X = np.random.randint(15, size = (15, 1000))
y = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
from sklearn.naive_bayes import ComplementNB
CNBclf = ComplementNB()
CNBclf.fit(X, y)

Resultado

ComplementNB(alpha = 1.0, class_prior = None, fit_prior = True, norm = False)

Agora, uma vez ajustado, podemos prever o novo valor aby usando o método predict () da seguinte forma -

Exemplo

print((CNBclf.predict(X[10:15]))

Resultado

[11 12 13 14 15]