Hello,
In googling around for manifold learning tools in python (specifically, diffusion maps a la Lafon and Coifman), I see a couple references on Stéfan and Matthieu's web pages, but I'm not sure if anyone has released anything. Do you two, or does anyone else, know of any code out there for the basic techniques (isomap / LLE / diffusion maps / etc...)? No big problem to re-implement... but if the code's already written, I'd start with that! Thanks a ton! Zach _______________________________________________ SciPy-User mailing list [hidden email] http://mail.scipy.org/mailman/listinfo/scipy-user |
I am very interested in this as well. An orbifold implementation
would be welcome too. -ap On Thu, Feb 10, 2011 at 4:05 PM, Zachary Pincus <[hidden email]> wrote: Hello, _______________________________________________ SciPy-User mailing list [hidden email] http://mail.scipy.org/mailman/listinfo/scipy-user |
In reply to this post by Zachary Pincus-2
Hi,
The code for LLE (I think this one has a bug), Isomap, Diffusion maps, ... is available in the first release of scikits.learn. You may also find it in some branches of the project, mainly Fabian or Alexandre's manifold-light (with a fixed LLE, but no Isomap). I don't have time to finish the port to the current scikit's API, and it takes too long to have something like it integrated anyway. Matthieu 2011/2/10 Zachary Pincus <[hidden email]> Hello, -- Information System Engineer, Ph.D. Blog: http://matt.eifelle.com LinkedIn: http://www.linkedin.com/in/matthieubrucher _______________________________________________ SciPy-User mailing list [hidden email] http://mail.scipy.org/mailman/listinfo/scipy-user |
> The code for LLE (I think this one has a bug), Isomap, Diffusion
> maps, ... is available in the first release of scikits.learn. You > may also find it in some branches of the project, mainly Fabian or > Alexandre's manifold-light (with a fixed LLE, but no Isomap). I > don't have time to finish the port to the current scikit's API, and > it takes too long to have something like it integrated anyway. Oh great, thanks! I poked around the scikits.learn repo a bit but must have missed those -- sorry. I'll check that out in more detail. Zach _______________________________________________ SciPy-User mailing list [hidden email] http://mail.scipy.org/mailman/listinfo/scipy-user |
In reply to this post by Zachary Pincus-2
> In googling around for manifold learning tools in python
> (specifically, diffusion maps a la Lafon and Coifman), I see a couple > references on Stéfan and Matthieu's web pages, but I'm not sure if > anyone has released anything. > > Do you two, or does anyone else, know of any code out there for the > basic techniques (isomap / LLE / diffusion maps / etc...)? LLE [1] and Hessian-LLE [2] are available in MDP [3]. You may be interested in Growing Neural Gas [4] too. hth, tiziano [1] http://mdp-toolkit.sourceforge.net/node_list.html#mdp.nodes.LLENode [2] http://mdp-toolkit.sourceforge.net/node_list.html#mdp.nodes.HLLENode [3] http://mdp-toolkit.sourceforge.net/ [4] http://mdp-toolkit.sourceforge.net/node_list.html#mdp.nodes.GrowingNeuralGasNode _______________________________________________ SciPy-User mailing list [hidden email] http://mail.scipy.org/mailman/listinfo/scipy-user |
In reply to this post by Zachary Pincus-2
On Fri, Feb 11, 2011 at 12:16 AM, Zachary Pincus
<[hidden email]> wrote: > Oh great, thanks! I poked around the scikits.learn repo a bit but must > have missed those -- sorry. I'll check that out in more detail. I looked at the docs for scikits.learn now, but it doesn't seem as though one can specify the diffusion map kernel? Either way, the code for this is literally about 20 lines (attached). Note that 'eigen' is known as 'eigs' in the latest scipy RC. Regards Stéfan _______________________________________________ SciPy-User mailing list [hidden email] http://mail.scipy.org/mailman/listinfo/scipy-user difmap.py (2K) Download Attachment |
Cool -- thanks a ton!
On Feb 14, 2011, at 10:58 AM, Stéfan van der Walt wrote: > On Fri, Feb 11, 2011 at 12:16 AM, Zachary Pincus > <[hidden email]> wrote: >> Oh great, thanks! I poked around the scikits.learn repo a bit but >> must >> have missed those -- sorry. I'll check that out in more detail. > > I looked at the docs for scikits.learn now, but it doesn't seem as > though one can specify the diffusion map kernel? Either way, the code > for this is literally about 20 lines (attached). Note that 'eigen' is > known as 'eigs' in the latest scipy RC. > > Regards > Stéfan > <difmap.py>_______________________________________________ > SciPy-User mailing list > [hidden email] > http://mail.scipy.org/mailman/listinfo/scipy-user _______________________________________________ SciPy-User mailing list [hidden email] http://mail.scipy.org/mailman/listinfo/scipy-user |
In reply to this post by Stéfan van der Walt
On Mon, Feb 14, 2011 at 05:58:50PM +0200, Stéfan van der Walt wrote:
> On Fri, Feb 11, 2011 at 12:16 AM, Zachary Pincus > <[hidden email]> wrote: > > Oh great, thanks! I poked around the scikits.learn repo a bit but must > > have missed those -- sorry. I'll check that out in more detail. > I looked at the docs for scikits.learn now, but it doesn't seem as > though one can specify the diffusion map kernel? Which code are you refeering to exactly? In the code I know, you have to apply it yourself. However, this code is still fairly barebones, and will need more work, in particular to define good APIs. This will happen when we merge in the manifold module (give it a month). The code for diffusion maps is indeed fairly short, but in the scikit we play all the tricks we can to be numerically efficient (and they are not always trivial). Gaël _______________________________________________ SciPy-User mailing list [hidden email] http://mail.scipy.org/mailman/listinfo/scipy-user |
In reply to this post by Stéfan van der Walt
2011/2/14 Stéfan van der Walt <[hidden email]>
Indeed, because the diffusion kernel is hardcoded for diffusion map. The inner computation function can be passed a kernel though (sparse like Laplacian Eigenmaps or not sparse like Diffusion Map). Matthieu -- Information System Engineer, Ph.D. Blog: http://matt.eifelle.com LinkedIn: http://www.linkedin.com/in/matthieubrucher _______________________________________________ SciPy-User mailing list [hidden email] http://mail.scipy.org/mailman/listinfo/scipy-user |
Forgive me, but I am new to the whole world of manifolds. My goal
is to come up with a working implementation of an orbit manifold in python that I can experiment with. Would scikits.learn allow me to do that? Is a diffusion map the same thing as a manifold? Sorry again if these seem like silly questions, I am trying to get my head around what I need to learn in order to make this happen. Any pointers to manifold learning resources would greatly appreciated. Thanks, Anthony On Mon, Feb 14, 2011 at 10:38 AM, Matthieu Brucher <[hidden email]> wrote:
_______________________________________________ SciPy-User mailing list [hidden email] http://mail.scipy.org/mailman/listinfo/scipy-user |
Hi Anthony,
I don't know exactly what you need to learn about manifolds but I can recommend a well written and rigorous book called geometry, topology and physics by Nakahara http://www.amazon.com/Geometry-Topology-Physics-Graduate-Student/dp/0750306068 It provides good definitions of these and related concepts. Probably worth having a look if you can get to a copy.... Hope this helps. Jonathan On Mon, Feb 14, 2011 at 2:18 PM, Anthony Palomba <[hidden email]> wrote: Forgive me, but I am new to the whole world of manifolds. My goal -- Jonathan Rocher, Enthought, Inc. [hidden email] 1-512-536-1057 http://www.enthought.com _______________________________________________ SciPy-User mailing list [hidden email] http://mail.scipy.org/mailman/listinfo/scipy-user |
In reply to this post by apalomba
2011/2/14 Anthony Palomba <[hidden email]> Forgive me, but I am new to the whole world of manifolds. My goal Diffusion map are one way of defining a set of coordinates on a manifold. I don't know what an orbit manifold is, if it is a specific algorithm, or if you just want to have a coordinate system on an orbit... Matthieu -- Information System Engineer, Ph.D. Blog: http://matt.eifelle.com LinkedIn: http://www.linkedin.com/in/matthieubrucher _______________________________________________ SciPy-User mailing list [hidden email] http://mail.scipy.org/mailman/listinfo/scipy-user |
Free forum by Nabble | Edit this page |