Scikit Learn - Completa Naïve Bayes
Un altro utile e ingenuo modello di Bayes, progettato per correggere i severi presupposti del classificatore multinomiale di Bayes. Questo tipo di classificatore NB è adatto per set di dati sbilanciati. Lo Scikit-learn forniscesklearn.naive_bayes.ComplementNB implementare l'algoritmo Gaussian Naïve Bayes per la classificazione.
Parametri
La tabella seguente è composta dai parametri utilizzati da sklearn.naive_bayes.ComplementNB metodo -
Suor n | Parametro e descrizione |
---|---|
1 | alpha - float, opzionale, default = 1.0 Rappresenta il parametro additivo levigante. Se scegli 0 come valore, non ci sarà alcun livellamento. |
2 | fit_prior - Booleano, opzionale, predefinito = vero Indica al modello se apprendere o meno le probabilità a priori della classe. Il valore predefinito è True ma se impostato su False, gli algoritmi useranno una priorità uniforme. Questo parametro viene utilizzato solo in caso limite con una singola classe nel set di dati di addestramento. |
3 | class_prior - size (n_classes,), opzionale, Default = None Questo parametro rappresenta le probabilità a priori di ciascuna classe. |
4 | norm - Booleano, opzionale, predefinito = False Indica al modello se eseguire o meno la seconda normalizzazione dei pesi. |
Attributi
La tabella seguente è costituita dagli attributi utilizzati da sklearn.naive_bayes.ComplementNB metodo -
Suor n | Attributi e descrizione |
---|---|
1 | class_log_prior_ - array, forma (n_class,) Fornisce la probabilità logaritmica empirica livellata per ogni classe. Questo attributo viene utilizzato solo in caso limite con una singola classe nel set di dati di addestramento. |
2 | class_count_ - array, forma (n_class,) Fornisce il numero effettivo di campioni di addestramento riscontrati per ciascuna classe. |
3 | feature_log_prob_ - array, forma (n_class, n_features) Fornisce i pesi empirici per i componenti di classe. |
4 | feature_count_ - array, forma (n_class, n_features) Fornisce il numero effettivo di campioni di addestramento incontrati per ciascuna (classe, caratteristica). |
5 | feature_all_ - array, forma (n_features,) Fornisce il numero effettivo di campioni di addestramento rilevati per ciascuna funzionalità. |
I metodi di sklearn.naive_bayes.ComplementNB sono gli stessi che abbiamo usato in sklearn.naive_bayes.GaussianNB..
Esempio di implementazione
Lo script Python di seguito utilizzerà sklearn.naive_bayes.BernoulliNB metodo per costruire Bernoulli Naïve Bayes Classifier dal nostro set di dati -
Esempio
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)
Produzione
ComplementNB(alpha = 1.0, class_prior = None, fit_prior = True, norm = False)
Ora, una volta adattato, possiamo prevedere il nuovo valore utilizzando il metodo prediction () come segue:
Esempio
print((CNBclf.predict(X[10:15]))
Produzione
[11 12 13 14 15]