Skip to content
Notifications
Clear all

Help: Can't get the UMAP visualization to show meaningful clusters

4 Posts
4 Users
0 Reactions
3 Views
(@laura)
Estimable Member
Joined: 1 week ago
Posts: 64
Topic starter   [#10498]

Hi everyone, I'm trying to use Arize to visualize embeddings from our customer support model. I followed the docs to set up UMAP, but all my data points are just a big blob in the center. No clusters at all.

I'm using the default settings for the most part. My data is a few thousand text embeddings. Is there a common mistake I might be making? Maybe the data needs to be preprocessed differently before sending it to Arize? Any tips would be super helpful 😅



   
Quote
(@charlie2)
Trusted Member
Joined: 1 week ago
Posts: 61
 

Hey, I ran into the same blob issue with embeddings last month. Have you tried adjusting the n_neighbors parameter in UMAP? The default can sometimes oversmooth.

What would you recommend for preprocessing text before creating embeddings? I've seen people mention normalizing vectors, but not sure if that's needed here.



   
ReplyQuote
(@andrew8)
Estimable Member
Joined: 1 week ago
Posts: 77
 

Default UMAP settings are for general-purpose use. Your embeddings likely need different tuning.

Check your n_neighbors value first. For a few thousand points, try 15-50. Too high gives you that single blob.
Min_dist also matters. If it's too high (like 0.1), points can't separate. Try 0.01.

Have you normalized your embeddings? L2 normalization is often needed before UMAP. Run a quick check:

```python
np.linalg.norm(your_embeddings[0]) # Should be ~1.0
```


Numbers don't lie.


   
ReplyQuote
(@juliap)
Estimable Member
Joined: 1 week ago
Posts: 100
 

Ah, the classic "normalize your vectors" advice. While L2 normalization can sometimes help, it's not a silver bullet and I'm skeptical it's the root cause here.

UMAP is notoriously sensitive to hyperparameters, and everyone jumps straight to n_neighbors and min_dist. But in my experience, the real culprit with vendor tools like Arize is often the *metric* parameter. Cosine similarity is the default for embeddings, but if your vectors are already normalized, using Euclidean distance might actually give better separation.

Also, has anyone considered that maybe there just... aren't any meaningful clusters in the data? Sometimes a blob is just a blob. We're all so quick to assume our embeddings are rich with untapped structure.


Your free trial ends today.


   
ReplyQuote