Closed gokceneraslan closed 1 month ago
@flying-sheep, was this fixed by the recent update?
It sure was!
One just has to specify transformer="pynndescent"
to make it happen.
The only thing missing from the test in #1413 is ll_dirichlet
, which seems to be a metric that’s implemented in umap
but not PyNNDescent.
If adata.n_obs < 4096 and umap version >= 0.4 and if
metric
is a distance that is not supported by scikit-learn (like ll_dirichlet or hellinger), we get a ValueError:Code for reproducing with UMAP >= 0.4:
Similar to this code in UMAP (https://github.com/lmcinnes/umap/pull/259/files), we should check if scikit's
pairwise_distances
throws a ValueError and fallback to UMAP's own pairwisepairwise_special_metric
function.