Project details for JProGraM

Logo JProGraM 12.8

by ninofreno - August 7, 2012, 15:08:07 CET [ Project Homepage BibTeX BibTeX for corresponding Paper Download ]

view ( today), download ( today ), 0 subscriptions


JProGraM is an open-source Java library which can be used for learning a number of statistical models from data, such as Bayesian networks, Markov random fields, hybrid random fields, probabilistic decision trees, dependency networks, Gaussian mixture models, Parzen windows, and Nadaraya-Watson conditional density estimators. Along with learning algorithms, some simple inference methods are also implemented. JProGraM is released under the GNU General Public License. It is not yet as polished as I would like it to be, and there is no proper documentation, but it should be especially useful for research purposes. One strong point of the library is the extended support for graphical models with continuous random variables, covering not only standard Gaussian models, but also more recent cutting-edge techniques such as nonparanormal estimation of undirected graphs, scalable dual-tree recursion methods for kernel bandwidth selection (as described e.g. here), or kernel-based random fields. On the other hand, you can use JProGraM to estimate various random network models, such as the Erdős-Rényi, Watts-Strogatz, or Barabási-Albert model, and Markov/higher-order exponential random graphs, as well as to sample subgraphs from large-scale networks (through random walk, snowball sampling, ...) or compute graph spectra. As additional tools for data analysis, principal components analysis, independent component analysis (through the FastICA library), and (to some extent) data clustering are also supported. Starting with release 12.8, a basic implementation of multilayer feed-forward neural networks has been added, using the backpropagation learning algorithm.

Changes to previous version:

JProGraM 12.8 -- CHANGE LOG

Release date: August , 2012

This is a major update of JProGraM. Most notable additions include: -- A basic implementation of multilayer feedforward neural networks (ninofreno.ann package); -- Erdős-Rényi, Watts-Strogatz, and Barabási-Albert random network models (ninofreno.graph.gen package); -- Markov and higher-order exponential random graph models for networks, using k-star and k-triangle statistics (ninofreno.graph.ergm package); -- Subgraph sampling algorithms for undirected networks (random walk, random jump, snowball, inducent and incident subgraph sampler), along with methods for computing graph spectra (ninofreno.graph package); -- Area under the ROC curve calculator ( package); -- Lots of bugfixes and enhancements.

JProGraM 10.5 -- CHANGE LOG

Release date: May 30, 2010

-- Support for continuous graphical models has been added: Gaussian, nonparanormal, and kernel-based Markov random fields, hybrid random fields and Bayes nets are now implemented; -- Routines for kernel-based conditional density estimation (Nadaraya-Watson estimators) have been implemented, with support for scalable dual-tree recursion techniques (used in the bandwidth selection routines); -- Methods for generating arbitrarily shaped multivariate density functions and for sampling datasets from them have been added; -- Independent Component Analysis is now also supported (by wrapping the FastICA library); -- Gaussian mixture models have been greatly improved by adding support for expectation-maximization, fixing some numerical stability issues and differentiating a simpler version with diagonal covariance matrices from a more complex version with full covariance matrices; -- Other minor features have been added, and a number of corrections have been introduced.

Note that the Gaussian and nonparanormal Markov random fields relying on the graphical lasso technique require a working R distribution ( to be installed on your system, including in particular the external glasso package ( Provided that R and the glasso package are correctly installed, the relevant JProGraM routines are able to exploit the R installation without any manual intervention. This means that users of the JProGraM library can sinmply call the routines executing the graphical lasso within their Java code without the need to manipulate any R code. (This has been tested successfully on several Linux distributions, but not on Windows or Mac OS X).

JProGraM 9.1 -- CHANGE LOG

Release date: January 29, 2009

-- Principal Components Analysis is now supported; -- A number of bugs within the ninofreno.gmm and ninofreno.clustering packages have been fixed; -- Other minor features have been added (especially within the MyMath class).

JProGraM 8.10 -- CHANGE LOG

Release date: October 7, 2008

The following algorithms are now supported by JProGraM: -- K-Means (for clustering); -- Kaufman-Rousseuw algorithm for initializing cluster centroids; -- Gaussian Mixture Model for probability density function estimation.

JProGraM 8.6 -- CHANGE LOG

Release date: June 8, 2008

The following statistical models are now supported by JProGraM: -- Parzen Windows for probability density function estimation; -- Probabilistic decision trees for discrete pattern classification; -- Dependency networks for discrete pseudo-likelihood estimation.

JProGraM 8.1

Release date: February 16, 2008

The following statistical models are supported by JProGraM: -- Bayesian networks; -- Markov random fields; -- Hybrid random fields.

BibTeX Entry: Download
Corresponding Paper BibTeX Entry: Download
Supported Operating Systems: Agnostic
Data Formats: None
Tags: Density Estimation, Machine Learning, Decision Tree Learning, Naive Bayes, Bayesian Networks, Graphical Models, Markov Random Fields, Dependency Networks, Hybrid Random Fields, Ne
Archive: download here


No one has posted any comments yet. Perhaps you'd like to be the first?

Leave a comment

You must be logged in to post comments.