A binary classification application that uses bayesian network as algorithm.
Report Bug
·
Request Feature
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
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.
To get a local copy up and running follow these simple steps.
- Clone the repo
git clone https://github.com/izzettunc/Bayesian-Network.git
-
Open src folder in a Java Editor
-
Make changes, run it, use it whatever you like 😄
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
Stats
Conditional probability table
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:
T,Y,R
T,R
Y,R
See the open issues for a list of proposed features (and known issues).
Distributed under the MIT License. See LICENSE
for more information.
İzzet Tunç - izzet.tunc1997@gmail.com