lmcinnes / umap

Uniform Manifold Approximation and Projection
BSD 3-Clause "New" or "Revised" License
7.45k stars 808 forks source link

self.unique - different on GitHub and pipy file #417

Open sthGit opened 4 years ago

sthGit commented 4 years ago

Hi!

I'm no expert on neither UMAP nor Python, but I have been using the UMAP extension on-and-off for the last 3 months. Previously I've had no error using it, but now a value error is appearing where I do not believe it should.

Using the "precomputed" metric, the following value error appears: ValueError: unique is poorly defined on a precomputed metric

Looking at the code in umap.py file on GitHub (https://github.com/lmcinnes/umap/blob/master/umap/umap.py) row 1500 is states:

elif self.metric == "precomputed": if self.unique: raise ValueError("unique is poorly defined on a precomputed metric")

but in the pipy file (downloaded using pip install umap-learn, found https://pypi.org/project/umap-learn/) states:

elif self.metric == "precomputed": if self.unique is False: raise ValueError("unique is poorly defined on a precomputed metric")

The second statement seems contradictory to me. Since it says that unique is poorly defined for a precomputed metric it should logically be if self.unique like in the first case.

Is this an error?

Andrew-S-Rosen commented 4 years ago

I also received this error, for what it's worth. Using the most recent version on GitHub resolves the issue.

lmcinnes commented 4 years ago

Yes, I really need to roll out a new release. Sorry about that.

Andrew-S-Rosen commented 4 years ago

@lmcinnes -- no worries! The current version on GitHub works like a charm in this regard.