There was some discussion along these lines last year, but I don't think anyone has worked on it yet. Scikit-learn doesn't currently have the ability to do manifold learning from a precomputed distance matrix, but it could be extended to that pretty easily.
What it would take would be to modify the various manifold learning classes to optionally take a precomputed distance matrix rather than a set of data. There's some precedent for this in other algorithms (e.g. passing a precomputed Gram matrix in SVM/SVC). It would be pretty straightforward to implement for isomap. The LLE-based methods would take a bit more thought, but there's some info on how to do this in the Roweis & Saul paper. I hope that helps - if you want to start a PR on this topic I'd certainly be available to give input along the way Jake Anthony Bak wrote: > I'd like to use isomap (and other manifold learning techniques) with > abstract metric spaces (and perhaps more generally similarity and > dissimilarity matricies - but we can put that aside for the moment). > It looks to me like isomap assumes points are described by points in > R^N or some data structure (such as a KD-Tree) built from such points. > > Q1: Can I use the version of isomap in sklearn with abstract metric spaces? > > I assumed that I could not based on a quick reading of the > documentation six months or so ago and I wrote a python implementation > (Based on the original Tenenbaum Matlab implementation). > > Q2: If the answer to Q1 is "no", how do I go about getting this more > general isomap into the sklearn code? > > Do I need to make a case for handeling non-embedded data or are the > advantages obvious to everyone? > > Thanks. > > ------------------------------------------------------------------------------ > For Developers, A Lot Can Happen In A Second. > Boundary is the first to Know...and Tell You. > Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! > http://p.sf.net/sfu/Boundary-d2dvs2 > _______________________________________________ > Scikit-learn-general mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/scikit-learn-general > ------------------------------------------------------------------------------ For Developers, A Lot Can Happen In A Second. Boundary is the first to Know...and Tell You. Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! http://p.sf.net/sfu/Boundary-d2dvs2 _______________________________________________ Scikit-learn-general mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
