I have a dataset which consists of multiple user ratings. Each rating looks similarly to:
| Taste | Flavour | Look | Enjoyed | ..... | Tag |
|-------|---------|------|---------|-------|--------|
| 4 | 2 | 2 | 3 | ..... | Banana |
| 5 | 4 | 1 | 2 | ..... | Apple |
| 3 | 1 | 4 | 1 | ..... | Pasta |
| .... | .... | .... | .... | .... | .... |
The columns contain ranks for each row. The task is to clusterize rows, e.g. I would like to find something similar to:
cluster 1: Banana, Apple
cluster 2: Pasta, Spagetty
....
We use HDBSCAN with edit distance metric to find clusters, and it works more or less. The problem, however, is that there are too few features (12 in total) to have "good" clusters. Therefore I would like to somehow account for the information from "Tag" in clustering. The idea is to calculate embeddings for each tag and use them as features.
What I'm not certain about is how to include these new features? I would like the clustering to be primarily determined by the original features. The dimension of embeddings is much larger than the dimension of the original features, and the metric on these features is different (e.g. cosine similarity). Therefore, I would like to answer 2 questions:
- What will be a proper method to combine these heterogeneous features?
- How to properly select the weight for the "Tag" feature? Ideally, I would not like to just postulate it