Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ki3mono/naive_bayes_classifier
This project implements Naive Bayes Classifiers for two data types: Multinomial Naive Bayes Classifier and Gaussian Naive Bayes Classifier
https://github.com/ki3mono/naive_bayes_classifier
iris-dataset mushroom-dataset naive-bayes-classifier numpy python scikit-learn
Last synced: 6 days ago
JSON representation
This project implements Naive Bayes Classifiers for two data types: Multinomial Naive Bayes Classifier and Gaussian Naive Bayes Classifier
- Host: GitHub
- URL: https://github.com/ki3mono/naive_bayes_classifier
- Owner: Ki3mONo
- Created: 2025-01-07T00:50:34.000Z (24 days ago)
- Default Branch: master
- Last Pushed: 2025-01-22T03:32:57.000Z (9 days ago)
- Last Synced: 2025-01-22T04:24:18.831Z (9 days ago)
- Topics: iris-dataset, mushroom-dataset, naive-bayes-classifier, numpy, python, scikit-learn
- Language: Python
- Homepage:
- Size: 1.54 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Naive Bayes Classifier
## Opis projektu
Projekt implementuje Naiwne Klasyfikatory Bayesowskie dla dwóch typów danych:
1. **Dane kategoryczne** – implementacja klasyfikatora **Multinomial Naive Bayes Classifier**.
2. **Dane ilościowe** – implementacja klasyfikatora **Gaussian Naive Bayes Classifier**.Projekt testowano na rzeczywistych zbiorach danych, takich jak zbiór Iris dostępny w bibliotece scikit-learn i zbiór Mushroom dostępny na platformie Kaggle (katalog /data).
---
## Klasyfikatory
### 1. Multinomial Naive Bayes Classifier
- Przeznaczony dla danych kategorycznych.
- Oblicza prawdopodobieństwo na podstawie liczby wystąpień wartości cech dla każdej klasy.
- Zakłada warunkową niezależność cech.### 2. Gaussian Naive Bayes Classifier
- Przeznaczony dla danych ilościowych.
- Opiera się na rozkładzie normalnym, obliczając prawdopodobieństwa na podstawie średniej i odchylenia standardowego cech.---
## Struktura projektu
1. **Implementacja klasyfikatorów: /src**
- `MultinomialNaiveBayesClassifier` – dla danych kategorycznych.
- `GaussianNaiveBayesClassifier` – dla danych ilościowych.
- `NaiveBayesClassifier` – abstrakcyjna klasa nadrzędna dla naiwnego klasyfikatora bayesowskiego.2. **Wstępna analiza danych: /data_analysis**
- Wizualizacja danych.
- Wybór cech, które najlepiej odróżniają klasy w zbiorze danych.3. **Ewaluacja: /accuracy_notebooks**
- Podział danych na zbiory treningowe i testowe.
- Obliczanie dokładności poszczególnych klasyfikatorów w notebookach `Mushrooms_accuracy.ipynb` i `Iris_Accuracy.ipynb`.---
## Technologie
- **Python** – główny język programowania.
- **Biblioteki:**
- `numpy` – obliczenia matematyczne.
- `pandas` – manipulacja danymi.
- `scikit-learn` – wczytywanie zbiorów danych i podział na zbiory treningowe/testowe.---
## Autorzy
- **Maciej Kmąk**
- **Jakub Gucwa**Projekt został zrealizowany w ramach przedmiotu **Rachunek prawdopodobieństwa i statystyka**, prowadzonego na II roku studiów na kierunku **Informatyka** na **Wydziale Informatyki Akademii Górniczo-Hutniczej**.