Scikit Learn - Complément Naïve Bayes

Un autre modèle Bayes naïf utile qui a été conçu pour corriger les hypothèses sévères faites par le classifieur multinomial Bayes. Ce type de classificateur NB convient aux ensembles de données déséquilibrés. Le Scikit-learn fournitsklearn.naive_bayes.ComplementNB 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.ComplementNB 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

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. Ce paramètre n'est utilisé que dans le cas de pointe avec une seule classe dans l'ensemble de données d'apprentissage.

3

class_prior - size (n_classes,), facultatif, Par défaut = Aucun

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

4

norm - Booléen, facultatif, par défaut = False

Il indique au modèle s'il faut effectuer une deuxième normalisation des poids ou non.

Les attributs

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

Sr. Non Attributs et description
1

class_log_prior_ - tableau, forme (n_classes,)

Il fournit la probabilité logarithmique empirique lissée pour chaque classe. Cet attribut n'est utilisé que dans le cas de pointe avec une seule classe dans l'ensemble de données d'apprentissage.

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 les poids empiriques des composantes de classe.

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é).

5

feature_all_ - tableau, forme (n_features,)

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

Les méthodes de sklearn.naive_bayes.ComplementNB 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 -

Exemple

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)

Production

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

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

Exemple

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

Production

[11 12 13 14 15]