scikit-learn/scikit-learn — pull request #3175 by yanlend (2014-05-21 15:26:15+00:00)
Title: Incremental Isomap

Hi everybody,

I implemented incremental isomap as proposed in:
Law, Martin HC, and Anil K. Jain. "Incremental nonlinear dimensionality reduction by manifold learning." Pattern Analysis and Machine Intelligence, IEEE Transactions on 28.3 (2006): 377-391.

As I'm not aware of a Estimator model in sklearn that does incremental fitting like this, I added fit_incremental and fit_transform_incremental. This is debatable.
Besided incremental_isomap.py, the most imporant changes are in graph_shortest_path.pyx, where the shortest paths are returned in addition to the distances and partial shortest path computation is possible.

The speed of incremental learning depends heavily on the speed of nearest neigbhor search. I implemented only brute force search here. Especially adaptive incremental learning can get slow.