Skip to content

izzettunc/Bayesian-Network

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Bayesian Network

A binary classification application that uses bayesian network as algorithm.

Report Bug · Request Feature

Table of Contents

About The Project

Product Name Screen Shot

This project made as a class assignment. Its purpose is basically classifying given test data by learned information from train data using bayesian networks and bayesian inference.

Features:

  • You can classify any binary classification data
  • You can print conditional probability table
  • You can print test and train results in a txt file

What is Bayesian Networks ?

A Bayesian network, Bayes network, belief network, decision network, Bayes(ian) model or probabilistic directed acyclic graphical model is a probabilistic graphical model (a type of statistical model) that represents a set of variables and their conditional dependencies via a directed acyclic graph (DAG). Bayesian networks are ideal for taking an event that occurred and predicting the likelihood that any one of several possible known causes was the contributing factor. For example, a Bayesian network could represent the probabilistic relationships between diseases and symptoms. Given symptoms, the network can be used to compute the probabilities of the presence of various diseases.

Efficient algorithms can perform inference and learning in Bayesian networks. Bayesian networks that model sequences of variables (e.g. speech signals or protein sequences) are called dynamic Bayesian networks. Generalizations of Bayesian networks that can represent and solve decision problems under uncertainty are called influence diagrams.

Getting Started

To get a local copy up and running follow these simple steps.

Installation

  1. Clone the repo
git clone https://github.com/izzettunc/Bayesian-Network.git
  1. Open src folder in a Java Editor

  2. Make changes, run it, use it whatever you like 😄

Usage

Here is some unneeded screenshots for how to use it

  • Select training file Don't forget! Input should look like Input structure
  • Select test file Don't forget! Input should look like Input structure
  • Select network structure file Don't forget! Input should look like Input structure
  • Select target feature and reporting settings
  • Press run

Application Screen Shot

Stats

Application Screen Shot

Conditional probability table

Application Screen Shot

About Input Structure

While reading input files(train and test) I basically use DFS like algorithm to get each and every input file in every folder. So if you change input app won't going to work.

Train and Test Structure:

feature1,feature2,feature3,...,featureN
a       ,b       ,c       ,...,n        <- record 1
.
.
.
an      ,bn      ,cn      ,...,nn       <- record n   

Network Structure

    feature1,feature2,....,featureN
    from,to1,to2,to3,...,toN
    ..
    ..
    ..

Example:

Network Example

    T,Y,R
    T,R
    Y,R

Roadmap

See the open issues for a list of proposed features (and known issues).

License

Distributed under the MIT License. See LICENSE for more information.

Contact

İzzet Tunç - izzet.tunc1997@gmail.com
LinkedIn

About

A bayesian network demo application

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages