Main Content

Naive Bayes

Naive Bayes model with Gaussian, multinomial, or kernel predictors

Naive Bayes models assume that observations have some multivariate distribution given class membership, but the predictor or features composing the observation are independent. This framework can accommodate a complete feature set such that an observation is a set of multinomial counts.

To train a naive Bayes model, use fitcnb in the command-line interface. After training, predict labels or estimate posterior probabilities by passing the model and predictor data to predict.

Apps

Classification LearnerTrain models to classify data using supervised machine learning

Functions

expand all

fitcnbTrain multiclass naive Bayes model
compactReduce size of naive Bayes classifier
crossvalCross-validate naive Bayes classifier
kfoldEdgeClassification edge for observations not used for training
kfoldLossClassification loss for observations not used for training
kfoldfunCross validate function
kfoldMarginClassification margins for observations not used for training
kfoldPredictPredict response for observations not used for training
lossClassification loss for naive Bayes classifier
resubLossResubstitution classification loss for naive Bayes classifier
logpLog unconditional probability density for naive Bayes classifier
compareHoldoutCompare accuracies of two classification models using new data
edgeClassification edge for naive Bayes classifier
marginClassification margins for naive Bayes classifier
partialDependenceCompute partial dependence
plotPartialDependenceCreate partial dependence plot (PDP) and individual conditional expectation (ICE) plots
resubEdgeResubstitution classification edge for naive Bayes classifier
resubMarginResubstitution classification margins for naive Bayes classifier
predictClassify observations using naive Bayes classifier
resubPredictClassify observations using naive Bayes classifier

Classes

ClassificationNaiveBayesNaive Bayes classification for multiclass classification
CompactClassificationNaiveBayesCompact naive Bayes classifier for multiclass classification
ClassificationPartitionedModelCross-validated classification model

Topics

Train Naive Bayes Classifiers Using Classification Learner App

Create and compare naive Bayes classifiers, and export trained models to make predictions for new data.

Supervised Learning Workflow and Algorithms

Understand the steps for supervised learning and the characteristics of nonparametric classification and regression functions.

Parametric Classification

Categorical response data

Naive Bayes Classification

The naive Bayes classifier is designed for use when predictors are independent of one another within each class, but it appears to work well in practice even when that independence assumption is not valid.

Plot Posterior Classification Probabilities

This example shows how to visualize classification probabilities for the Naive Bayes classification algorithm.

Classification

This example shows how to perform classification using discriminant analysis, naive Bayes classifiers, and decision trees.

Visualize Decision Surfaces of Different Classifiers

This example shows how to visualize the decision surface for different classification algorithms.