Scikit Learn - Bernoulli Naïve Bayes

Bernoulli Naïve Bayes est un autre modèle Bayes naïf utile. L'hypothèse dans ce modèle est que les caractéristiques binaires (0 et 1) sont de nature. Une application de la classification Bernoulli Naïve Bayes est la classification de texte avec le modèle «sac de mots». Le Scikit-learn fournitsklearn.naive_bayes.BernoulliNB pour implémenter l'algorithme Gaussian Naïve Bayes pour la classification.

Paramètres

Le tableau suivant contient les paramètres utilisés par sklearn.naive_bayes.BernoulliNB méthode -

Sr. Non Paramètre et description
1

alpha - float, facultatif, par défaut = 1.0

Il représente le paramètre de lissage additif. Si vous choisissez 0 comme valeur, il n'y aura pas de lissage.

2

binarize - float ou None, facultatif, par défaut = 0.0

Avec ce paramètre, nous pouvons définir le seuil de binarisation des exemples d'entités. La binarisation signifie ici la correspondance avec les booléens. Si vous choisissez sa valeur None, cela signifie que l'entrée se compose de vecteurs binaires.

3

fit_prior - Booléen, facultatif, par défaut = true

Il indique au modèle s'il faut apprendre les probabilités antérieures de classe ou non. La valeur par défaut est True mais si elle est définie sur False, les algorithmes utiliseront un a priori uniforme.

4

class_prior - de type tableau, taille (n_classes,), facultatif, Par défaut = Aucun

Ce paramètre représente les probabilités antérieures de chaque classe.

Les attributs

Le tableau suivant comprend les attributs utilisés par sklearn.naive_bayes.BernoulliNB méthode -

Sr. Non Attributs et description
1

class_log_prior_ - tableau, forme (n_classes,)

Il fournit la probabilité log lissée pour chaque classe.

2

class_count_ - tableau, forme (n_classes,)

Il fournit le nombre réel d'échantillons d'apprentissage rencontrés pour chaque classe.

3

feature_log_prob_ - tableau, forme (n_classes, n_features)

Il donne la probabilité logarithmique empirique des entités pour une classe $ P \ left (\ begin {array} {c} features \ arrowvert Y \ end {array} \ right) $.

4

feature_count_ - tableau, forme (n_classes, n_features)

Il fournit le nombre réel d'échantillons d'apprentissage rencontrés pour chaque (classe, fonctionnalité).

Les méthodes de sklearn.naive_bayes.BernoulliNB sont les mêmes que ceux que nous avons utilisés dans sklearn.naive_bayes.GaussianNB.

Exemple d'implémentation

Le script Python ci-dessous utilisera sklearn.naive_bayes.BernoulliNB méthode pour construire le classificateur Bernoulli Naïve Bayes à partir de notre ensemble de données -

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)

Production

BernoulliNB(alpha = 1.0, binarize = 0.0, class_prior = None, fit_prior = True)

Maintenant, une fois ajusté, nous pouvons prédire la nouvelle valeur en utilisant la méthode prédire () comme suit -

Exemple

print((BNBclf.predict(X[0:5]))

Production

[1 2 3 4 5]