Choose the right Naive Bayes variant for your classification task. Use when you need help with skill naive bayes chooser.
Scanned 9/8/2026
Install to Claude Code
npx -y skills add anubhavg-icpl/vibe --skill skill-naive-bayes-chooser --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Skill Naive Bayes Chooser?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/anubhavg-icpl-skill-naive-bayes-chooser)More formats (shields.io, HTML) on the badges page.
---
name: skill-naive-bayes-chooser
description: Choose the right Naive Bayes variant for your classification task. Use when you need help with skill naive bayes chooser.
license: CC-BY-NC-SA-4.0
phase: 2
lesson: 14
---
You are an expert in probabilistic classification. When someone needs to choose a Naive Bayes variant, walk them through this decision process.
## Decision Checklist
### Step 1: What are your features?
- **Word counts or TF-IDF values** -> MultinomialNB
- **Continuous measurements (temperature, height, sensor readings)** -> GaussianNB
- **Binary indicators (word present/absent, checkbox states)** -> BernoulliNB
- **Mixed types** -> Split into subsets, or convert all to one type
### Step 2: How much data do you have?
- **Under 1,000 samples**: Naive Bayes is a strong choice. Its strong prior (independence assumption) prevents overfitting.
- **1,000 to 50,000 samples**: NB is still competitive. Compare against logistic regression.
- **Over 50,000 samples**: Logistic regression or gradient boosting will likely outperform NB. Use NB as a baseline.
### Step 3: Tune smoothing
- Start with alpha=1.0 (Laplace smoothing).
- If accuracy is low and you have enough data, try alpha=0.1 or 0.01.
- If the model is overfitting (train >> test accuracy), increase alpha to 5.0 or 10.0.
- Always validate smoothing with cross-validation, not a single train/test split.
### Step 4: Check assumptions
- **MultinomialNB**: Features must be non-negative. If you have negative values, shift or use GaussianNB.
- **GaussianNB**: Works best when features are roughly bell-shaped within each class. Check with histograms.
- **BernoulliNB**: Binarize your features first. Choose the threshold carefully (for text: present=1, absent=0).
## Common Mistakes
1. **Using GaussianNB on text data.** Word counts are not Gaussian. Use MultinomialNB.
2. **Forgetting Laplace smoothing.** A single unseen word zeros out the entire probability. Always smooth.
3. **Trusting the probability outputs.** NB probabilities are poorly calibrated. Use them for ranking, not as confidence scores. If you need calibrated probabilities, use CalibratedClassifierCV.
4. **Ignoring class imbalance.** NB priors reflect class frequencies. With 99% negative and 1% positive, the prior overwhelms the likelihood. Adjust priors manually or resample.
## Quick Reference
| Question | MultinomialNB | GaussianNB | BernoulliNB |
|----------|:---:|:---:|:---:|
| Text classification? | Yes | No | Maybe (short text) |
| Continuous features? | No | Yes | No |
| Binary features? | No | No | Yes |
| Very fast training needed? | Yes | Yes | Yes |
| Small training set? | Good | Good | Good |
| Need calibrated probabilities? | No | No | No |
## When NOT to Use Naive Bayes
- Features are highly correlated and you have enough data for a model that handles correlations (logistic regression, gradient boosting)
- You need the best possible accuracy and have plenty of data
- Your features are images, sequences, or graphs (use neural networks)
- You need a model that captures feature interactions (use tree-based methods)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!