cvxgrp / pymde

Minimum-distortion embedding with PyTorch
https://pymde.org
Apache License 2.0
537 stars 27 forks source link

[Feature] Incremental embedding #16

Open akshayka opened 3 years ago

akshayka commented 3 years ago

Implement a method for incrementally embedding, i.e., for adding new points to an existing embedding, as described in chapter 2, section 4.2 of the monograph.

All the necessary pieces are already implemented; they just need to be assembled together.

ghost commented 3 years ago

thanks for your nice work. I am interested in the incremental embedding. Let me know when do you plan to have?.

akshayka commented 3 years ago

Thanks for your interest!

My tentative plan is to develop this feature within the next one to two months. I will update this thread once I start development.

akshayka commented 3 years ago

@bbdamodadran, I've added an example notebook that shows how to do incremental embedding (i.e., add new points to an existing embedding), using pymde.preserve_neighbors. It's just 3 lines of code (or 1, if you chain them together).

The notebook is here: https://github.com/cvxgrp/pymde/blob/main/examples/updating_an_existing_embedding.ipynb

I've also updated the documentation on embedding new points (https://pymde.org/mde/index.html#embedding-new-points).

Hopefully that's enough to get you started. Let me know if you have any questions.

ghost commented 3 years ago

@akshayka Thanks for adding this new feature and also for the neat example.