Skip to content

This project implements Naive Bayes Classifiers for two data types: Multinomial Naive Bayes Classifier and Gaussian Naive Bayes Classifier. Developed as part of the Probability Theory and Statistics course in the second year of Computer Science at AGH University of Krakow.

Notifications You must be signed in to change notification settings

Ki3mONo/Naive_Bayes_Classifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

This project implements Naive Bayes Classifiers for two data types: Multinomial Naive Bayes Classifier and Gaussian Naive Bayes Classifier. Developed as part of the Probability Theory and Statistics course in the second year of Computer Science at AGH University of Krakow.

Topics

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages