pyGPs is a Python project for Gaussian process (GP) regression and classification for machine learning.
We support two libraries: pyGP_PR and pyGP_OO. pyGP_PR is currently the default download, for pyGP_OO follow this link: https://github.com/marionmari/pyGP_OO.
pyGP_PR is a procedural implementation of GPs and follows structure and functionality of the gpml matlab implementaion by Carl Edward Rasmussen and Hannes Nickisch (Copyright (c) by Carl Edward Rasmussen and Hannes Nickisch, 2013-01-21).
pyGP_OO is an object-oriented implemetation of GP regression and classificaion additionally supporting useful routines for the practical use of GPs, such as cross validation functionalities for evaluation as well as basic routines for iterative restarts for the GP hyperparameter optimization.
- Changes to previous version:
Initial Announcement on mloss.org.
Other available revisons
Version Changelog Date 1.3.2
Changelog pyGPs v1.3.2
December 15th 2014
- pyGPs added to pip
- mathematical definitions of kernel functions available in documentation
- more error message added
January 17, 2015, 13:08:43 1.3.1
Changelog pyGPs v1.3.1
November 25th 2014
full inline documentation with input parameter and output specified
check for the inputs and provide diagnostic messages for some inputs
consistant naming in inline and online documentation
string representation for dnlZStruct and postStruct. Now you can do sth like:
nlZ, dnlZ, post = model.getPosterior(x,y)
instead of a python object, we provide now a more informative description.
add optimization into unit test routines. Also add checking for cholesky decomposition and checking positive-definite property of kernel matrix.
add jitter to the digonal of linear, linARD, and poly covariance for numerical stability.
fix several minor problems in unit test framework
hierachically rearranged for online documentation
add several supplementary instruction in online documentation
December 1, 2014, 17:36:32 1.3
Changelog pyGPs v1.3
October 19th 2014
- DOC: model.fit() is now named model.getPosterior
- DOC: typo fixed: cov.LIN changed to cov.Linear
- DOC: removed cov.Periodic() in demos because its limited in 1-d data.
- API file updated accordingly
- removed unused ScalePrior attribute in most inference method
- added function jitchol, which added a small jitter(instead of doing Cholesky decomposition directly) to the diagonal when the kernel matrix is ill conditioned.
- thrown error when using periodic covariance functions for non-1d data. We also removed cov.Periodic() in demos because its limited usage.
- combined equally spaced positions of inputs as test positions as well in plot methods to get a more accurate plotting.
- rename model.fit() to model.getPosterior(), while model.optimize() stays the same. (since it is confusing for some users that the name fit() is not doing optimizing.)
October 20, 2014, 16:03:28 1.2
Changelog pyGPs v1.2
June 30th 2014
- input target now can either be in 2-d array with size (n,1) or in 1-d array with size (n,)
- setup.py updated
- "import pyGPs" instead of "from pyGPs.Core import gp"
- rename ".train()" to ".optimize()"
- rename "Graph-stuff" to "graphExtension"
- rename kernelOnGraph to "nodeKernels" and graphKernel to "graphKernels"
- redundancy removed for model.setData(x,y)
- rewrite "mean.proceed()" to "getMean()" and "getDerMatrix()"
- rewrite "cov.proceed()" to "getCovMatrix()" and "getDerMatrix()"
- rename cov.LIN to cov.Linear (to be consistent with mean.Linear)
- rename module "valid" to "validation"
- add graph dataset Mutag in python file. (.npz and .mat)
- add graphUtil.nomalizeKernel()
- fix number of iteration problem in graphKernels "PropagationKernel"
- add unit testing for covariance, mean functions
- derivatives for cov.LINard
- derivative of the scalar for cov.covScale
- demo_GPR_FITC.py missing pyGPs.mean
July 8th 2014
- add hyperparameter(signal variance s2) for linear covariance
- add unit testing for inference,likelihood functions as well as models
- NOT show(print) "maximum number of sweep warning in inference EP" any more
- documentation updated
- typos in lik.Laplace
- derivative in lik.Laplace
July 14th 2014
- online docs updated
- API file updated
- made private for methods that users don't need to call
July 17, 2014, 10:28:55 1.1
pyGPs v1.1 is released. It replaces pyGP_OO and contains substaintal updates in functionality and documentation. pyGP_PR v1.1 is released with substantial documentation updates and renamed (FN -> PR).
October 8, 2013, 12:35:28 1.0
Initial Announcement on mloss.org.
October 1, 2013, 14:12:14
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.