
- Scikit Learn Tutorial
- Scikit Learn - Home
- Scikit Learn - Introduction
- Scikit Learn - Modelling Process
- Scikit Learn - Data Representation
- Scikit Learn - Estimator API
- Scikit Learn - Conventions
- Scikit Learn - Linear Modeling
- Scikit Learn - Extended Linear Modeling
- Stochastic Gradient Descent
- Scikit Learn - Support Vector Machines
- Scikit Learn - Anomaly Detection
- Scikit Learn - K-Nearest Neighbors
- Scikit Learn - KNN Learning
- Classification with Naïve Bayes
- Scikit Learn - Decision Trees
- Randomized Decision Trees
- Scikit Learn - Boosting Methods
- Scikit Learn - Clustering Methods
- Clustering Performance Evaluation
- Dimensionality Reduction using PCA
- Scikit Learn Useful Resources
- Scikit Learn - Quick Guide
- Scikit Learn - Useful Resources
- Scikit Learn - Discussion
Scikit Learn - Multinomial Naïve Bayes
It is another useful Naïve Bayes classifier. It assumes that the features are drawn from a simple Multinomial distribution. The Scikit-learn provides sklearn.naive_bayes.MultinomialNB to implement the Multinomial Naïve Bayes algorithm for classification.
Parameters
Following table consist the parameters used by sklearn.naive_bayes.MultinomialNB method −
Sr.No | Parameter & Description |
---|---|
1 | alpha − float, optional, default = 1.0 It represents the additive smoothing parameter. If you choose 0 as its value, then there will be no smoothing. |
2 | fit_prior − Boolean, optional, default = true It tells the model that whether to learn class prior probabilities or not. The default value is True but if set to False, the algorithms will use a uniform prior. |
3 | class_prior − array-like, size(n_classes,), optional, Default = None This parameter represents the prior probabilities of each class. |
Attributes
Following table consist the attributes used by sklearn.naive_bayes.MultinomialNB method −
Sr.No | Attributes & Description |
---|---|
1 | class_log_prior_ − array, shape(n_classes,) It provides the smoothed log probability for every class. |
2 | class_count_ − array, shape(n_classes,) It provides the actual number of training samples encountered for each class. |
3 | intercept_ − array, shape (n_classes,) These are the Mirrors class_log_prior_ for interpreting MultinomilaNB model as a linear model. |
4 | feature_log_prob_ − array, shape (n_classes, n_features) It gives the empirical log probability of features given a class $P\left(\begin{array}{c} features\arrowvert Y\end{array}\right)$. |
5 | coef_ − array, shape (n_classes, n_features) These are the Mirrors feature_log_prior_ for interpreting MultinomilaNB model as a linear model. |
6 | feature_count_ − array, shape (n_classes, n_features) It provides the actual number of training samples encountered for each (class,feature). |
The methods of sklearn.naive_bayes. MultinomialNB are same as we have used in sklearn.naive_bayes.GaussianNB.
Implementation Example
The Python script below will use sklearn.naive_bayes.GaussianNB method to construct Gaussian Naïve Bayes Classifier from our data set −
Example
import numpy as np X = np.random.randint(8, size = (8, 100)) y = np.array([1, 2, 3, 4, 5, 6, 7, 8]) from sklearn.naive_bayes import MultinomialNB MNBclf = MultinomialNB() MNBclf.fit(X, y)
Output
MultinomialNB(alpha = 1.0, class_prior = None, fit_prior = True)
Now, once fitted we can predict the new value aby using predict() method as follows −
Example
print((MNBclf.predict(X[4:5]))
Output
[5]