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]