lrvine / Bayesian

Machine Learning : Naive Bayes classifier and Bayesian network classifier C++ implementation
MIT License
27 stars 16 forks source link

Bayesian

Naive Bayes classifier and Bayesian network classifier C++ implementation

Reference :

Naive Bayes Classifier

Bayesian Network

Usage:

./bayesian [training data file] [test data file] [configuration file] [method]

method :

0 : naive bayesian
1 : bayesian network

Example:

./bayesian breast_cancer_data/breast-cancer-wisconsin-400-records-train breast_cancer_data/breast-cancer-wisconsin-299-records-test breast_cancer_data/breast-cancer-wisconsin.cfg 0

Training & Test data are in CSV format:

[ attribute 1 of data 1 ],[ attribute 2 of data 1 ], ........ ,[ true result of data 1 ]
[ attribute 1 of data 2 ],[ attribute 2 of data 2 ], ........ ,[ true result of data 2 ]
[ attribute 1 of data 3 ],[ attribute 2 of data 3 ], ........ ,[ true result of data 3 ]

Configuration file format:

[ number of training instance ]  [ number of test instance ]  [ number of attributes ]

[ attribute 1 is discrete(0) or continunous(1) ]  [ attribute 2 is discrete(0) or continunous(1) ]  ......

[ number of types for attributes 1 ]  [ number of types for attributes 2 ]  .......[ number of classes for prediction result ]  

* For continuous data, the "number of types for attributes" won't matter.
* Bayesian Network DO NOT support continuous data for now.

Data set is acquired from UCI Machine Learning Repository