Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I write GMM (Gaussian Mixture Model) in Java?

How can I write a GMM (Gaussian mixture model) in Java? There are some implementations in MATLAB, but I am looking for some documentation about it and example code in Java.

PS: If it is possible, how can I adopt the Weka implementation in my code?

PS 2: I found http://www.lix.polytechnique.fr/~nielsen/MEF/ Where is the source code of GMM inside it so I can adopt it at my code?

PS 3: Other code found is: http://www.dii.unisi.it/~freno/JProGraM.html, but it still has the problem how to adopt it. I should give the List of my input and get all the classified elements list from the algorithm.

like image 971
kamaci Avatar asked Feb 25 '23 00:02

kamaci


2 Answers

Weka is Java data mining software that can do GMMs. It also has a nice GUI where you can do some preliminary modeling before doing everything in Java.

like image 115
jberg Avatar answered Mar 04 '23 10:03

jberg


I'm the author of jMEF :) jMEF will allow you to create, process and manage mixtures of exponential families including of course GMMs. You basically have to create a mixture model based on the Gaussian distribution. I've written a bunch of tutorials to help understanding how to use it properly. It's pretty straightforward. The good thing is that you can estimate your mixture from samples using the EM algorithm.

like image 41
Garcia Avatar answered Mar 04 '23 10:03

Garcia