I want to use Gaussian mixture models for data clustering ( using an expectation maximization (EM) algorithm, which assigns posterior probabilities to each component density with respect to each observati开发者_如何学Con ) . Is there a c++ library which has Gaussian mixture models implemented alongwith sample dataset and examples?
The Armadillo C++ library has a multi-threaded (parallelised) implementation of k-means and Expectation Maximization (EM) for Gaussian Mixure Models (GMM).
See the gmm_diag class for more information.
Here is one C++ implementation. However I recommend coding from scratch if you are trying to learn. This is pretty easy with a decent matrix library. I have had good success with the Scythe Statistical Library.
It's easy to find sample datasets. The old faithful geyser dataset is a classic.
It might be late, But you can take a look at http://itpp.sourceforge.net/current/mog.html
Best that I used is MLPack,
http://www.mlpack.org/doxygen.php?doc=classmlpack_1_1gmm_1_1GMM.html.
You can find a example implementation in my project https://github.com/kerdemdemir/speakerFinder/blob/master/trainer.h
This is a Python sample: http://scikit-learn.sourceforge.net/auto_examples/mixture/plot_gmm_classifier.html
Check the underlying implementation.
精彩评论