Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Applicability to binary representations? #70

Open
rajarshi opened this issue Feb 20, 2019 · 2 comments
Open

Applicability to binary representations? #70

rajarshi opened this issue Feb 20, 2019 · 2 comments

Comments

@rajarshi
Copy link

Hi, I've been playing with the code and it's speed is very impressive. Most of the example employ real valued representations of the objects. Is the method applicable to a binary representation? In particular, I guess the similarity calculations should be appropriate for the representation (e.g., jaccard for binary data, euclidean for real valued data etc).

So I guess the question is, is it appropriate to run this on binary data?

@dkobak
Copy link
Collaborator

dkobak commented Feb 20, 2019

No distance metric apart from the Euclidean is currently supported. So you can run it on binary data, but only using Euclidean distances.

@linqiaozhi Annoy supports various metrics out of the box. Should we maybe have a metric parameter that simply gets passed on to Annoy? It should be trivial to implement. (One would want to switch off the normalization of the data for custom metrics.)

@rajarshi In case you are using Python, you can try a Python re-implementation of FIt-SNE https://github.com/pavlin-policar/openTSNE which does support various metrics.

@linqiaozhi
Copy link
Member

@linqiaozhi Annoy supports various metrics out of the box. Should we maybe have a metric parameter that simply gets passed on to Annoy? It should be trivial to implement. (One would want to switch off the normalization of the data for custom metrics.)

This is a great idea. And we can just give an error if the user tries to use VP trees with a non-Euclidean metric.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants