Supervised dimensionality reduction: `target_weight` doesn't seem to do anything
- Dominant language
- Python
- Stars
- 8.3k
- Forks
- 871
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 5
Description
I'm not familiar with how the supervised dimensionality reduction is actually implemented, so I apologize in advance if I simply misinterpreted the API!
To give some context:
I have some data that I want to cluster and project in 2D. I cluster it using some clustering algorithm, and project it in 2D using UMAP. Overlaying the cluster assignments onto the UMAP projection, I see there are some slight visual inconsistencies. To increase the concordance between the cluster assignments and the UMAP projection, I decided to pass the cluster labels into UMAP. However, the result was that the clusters now seemed too separate (almost artificially so) and the inter-cluster relationships are not as clear anymore. I tried decreasing target_weight, but that didn't seem to change the results, even when I set it to 0.0.
My main question is: Is it correct to expect that setting the target_weight to 0.0 would result in the same output as just regular, unsupervised UMAP? If that is incorrect, what is target_weight actually doing?
Thanks!
Contributor guide
Research direction
Start by reading the supervised dimensionality reduction implementation and the handling of `target_weight` in UMAP. Reproduce the reported comparison between supervised UMAP with `target_weight=0.0` and regular unsupervised UMAP, then document whether the outputs should match and what the parameter changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- machine-learning
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100