Skip to content

Machine Learning : Naive Bayes classifier and Bayesian network classifier C++ implementation

License

Notifications You must be signed in to change notification settings

lrvine/Bayesian

Repository files navigation

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 ]
  • For real prediction, don't need to provide true result. Need to pass second argument "0" for the "Predict" API.

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

About

Machine Learning : Naive Bayes classifier and Bayesian network classifier C++ implementation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published