-
-
Notifications
You must be signed in to change notification settings - Fork 342
Feat : Add naive_bayes #254
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds a comprehensive implementation of the Naive Bayes classification algorithm to the machine learning directory. The implementation includes three variants of Naive Bayes classifiers optimized for different types of data.
- Implements Gaussian, Multinomial, and Bernoulli Naive Bayes variants using R6 classes
- Provides comprehensive examples demonstrating each variant with appropriate datasets
- Includes proper probability calculations with numerical stability considerations
Co-authored-by: Copilot <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.
siriak
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, thanks!
🧠 Naive Bayes Classifier (R Implementation)
Overview
Naive Bayes is a probabilistic machine learning algorithm based on Bayes’ Theorem, assuming that all features are independent given the class.
It’s simple, fast, and works well for classification tasks like text analysis, spam detection, and document categorization.
Algorithm Concept
For a given input ( X = (x_1, x_2, ..., x_n) ), the probability of belonging to a class ( C_k ) is:
[
P(C_k | X) \propto P(C_k) \prod_{i=1}^{n} P(x_i | C_k)
]
The algorithm predicts the class with the highest posterior probability.
Variants Implemented
Gaussian Naive Bayes (GaussianNB)
Multinomial Naive Bayes (MultinomialNB)
Bernoulli Naive Bayes (BernoulliNB)
Key Functions