[SciPy-dev] PyEM, toolbox for Expectation Maximization for Gaussian Mixtures (proposal for inclusion into scipy.sandbox)
David Cournapeau
david at ar.media.kyoto-u.ac.jp
Fri Oct 6 10:32:13 CDT 2006
Albert Strasheim wrote:
>
> +1. The sandbox already has my libsvm wrapper, but it's a bit limited by
> libsvm's sparse data structure -- an SVM implementation using NumPy arrays
> is the next logical step. There's also PyKF[1], but it doesn't seem to be
> actively maintained.
>
I believe that pure python versions of algorithms is really important,
at least for educational purpose. I myself implement a lot of algorithms
to familiarize myself with them, and it is sometimes frustrating not to
have simple reference implementations available for algorithms as basic
as EM.
I was hoping more collaboration, too. For example, PyEM includes code to
compute multivariate Gaussian densities and evaluation of confidence
ellipsoids with custom level. Also, two years ago, I developed a quite
efficient and small C library for EM (handling full covariance cases if
clapack is available), which I would be happy to include in PyEM. In
particular, it can estimate Gaussian densities with any kind of
covariance matrices, and it would be stupid that other packages roll
their own (I didn't try to include it in the stats package because it
lacks most of the function required, and I don't think this is that
useful to implement all those functions). This could be then used for
all algorithms requiring this function (Kalman filtering, Recursive EM,
HMM with Gaussian output, etc...)
> [1] http://pykf.sourceforge.net/
>
I stopped looking at PYKF because the code is GPL (it also uses numeric,
which I am not familiar with). We may ask the author to re-release the
code under a scipy-friendly license, though (I did that for PyEM, as
initially it was quite heavily inspired by a GPL matlab toolbox).
I have code for basic Kalman filtering (for now, it has roughly the
same features as the Kevin Murphy toolbox on Kalman filtering:
http://www.cs.ubc.ca/~murphyk/Software/Kalman/kalman.html), but I am not
sure I will expand it much further.
David
More information about the Scipy-dev
mailing list