Naive Bayes is a basic classification algorithm, which classifies examples by making strong conditional independence assumptions. More precisely, it supposes that given a class, the features are independent from each other. Applying Baye's formula yields a simple model which can be trained in linear time.
Large numbers of features or classes may lead to sparsity and numerical instability. It is therefore recommended to define a smoothing parameter for the model, which acts as a "pseudo count" and regularizes the model.
Note: Naive Bayes only accepts categorical and text features.