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]