pavlin-policar / openTSNE

Extensible, parallel implementations of t-SNE
https://opentsne.rtfd.io
BSD 3-Clause "New" or "Revised" License
1.44k stars 158 forks source link

Refactor affinity module #175

Closed pavlin-policar closed 3 years ago

pavlin-policar commented 3 years ago
Description of changes

Adding this kind of functionality complicated things quite a bit, so a pretty major refactor was necessary to keep things manageable. Notable changes include:

Because there are now a whole bunch of possible ways to call this API, I added a test module which runs over the different ways to create an iris embedding. See tests/test_different_usages.py.

Includes
dkobak commented 3 years ago

Wow, this precomputed thing escalated pretty quickly :)

pavlin-policar commented 3 years ago

Haha, yeah. Things got pretty complicated when I just patched things up. So I tried to simplify it, but all the different ways we can call things now and string them together have made things a bit messy and necessarily complicated.

I'm trusting that my tests are thorough enough that nothing broke here. Most of the major things are tested pretty well though.