-
Notifications
You must be signed in to change notification settings - Fork 27
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
[Feature] Other distances besides Euclidean #32
Comments
Hi @akshayka Thanks for asking for feedback. With my datasets, it seems that minkowski with p < 1 is a better choice to deal with the issue of distance concentration. I noticed that PyNNDescent supports several metrics including custom ones. |
To clarify, do you want to use a different metric to measure the k-nearest neighbors of original data? Or do you want to use a different metric to measure distances in the embedding? I'm guessing the former, because you mentioned PyNNDescent. But just thought I'd double check. |
Hi @akshayka Correct, I believe that it will be beneficial to use PyNNDescent to measure the -k-nearest neighbors, so then PyMDE can be used to compute a lower dimension while preserving neighbors. Ivan |
Can you please provide the Tanimoto distance (often used to compare molecular fingerprints) and Gower's distance (for mixed data records like patient data) as additional metrics in PyMDE? Thanks, |
The quality of an embedding in PyMDE is judged by the collection of of Euclidean distances between pairs of embedding distances.
Euclidean distance is natural for visualization, since it is the distance that humans use in the real world. It is also closely related to the standardization constraint (which puts an upper bound on the sum of squared Euclidean distances between embedding vectors).
There is nothing in the underlying optimization algorithm or code that requires the distances to be Euclidean, and the code could easily be extended to support other distances.
If this is something that you actively want, please react with a 👍 on this post.
The text was updated successfully, but these errors were encountered: