lmcinnes / lmcinnes/umap

Supervised dimensionality reduction: `target_weight` doesn't seem to do anything

Open
#474 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.