I have a dataset where some items have been labelled (categorized into 4 classes [A,B,C,D]). However, there is a vast majority of the dataset which has not been labelled. My hypothesis is that there are some characteristics which influence which category is applied to each item. Would clustering or maybe even a recommender system be able to suggest where each item should be placed? On a practical level, would I provide the "labels" within the model? Or would I keep it apart until the end and then overlay those labels on whatever the model managed to group together?

The above example seems like a clustering use case. However, can I spin the problem into a recommender system? As in, you labelled item X as A, and it has characteristics 1,2,3... item Y has similar characteristics, maybe you should label it A as well?


Clustering and recommendation are similar tasks, however in recommendation you usually want to recommend several items while clustering usually assigns each sample to only one cluster.

Anyway for your problem a clustering or even a classifier might help. If labels are assigned on the basis of a similarity metric (and you have a good guess of what this metric might be) you could use a clustering algorithm to impute the missing labels (clustering is based on similarity between samples). However if it's reasonable that samples can be similar according to different metrics (and you are uncertain about it) then a classifier might help - provided you have enough labeled data to train the classifier. Which approach works best will also depend on the number of labeled samples and number of features.

Whichever strategy you choose to use the imputed labels will be noisy (some samples will be mislabeled). This is important to take into account especially if you are going to further process those labels.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.