I have a data set with labels that were produced by a $k$-means clustering algorithm. Now there is some data (with the same data structure) from another source and I wonder what is the most sensible way to label this new, yet unseen data? I was thinking about either

  • calculating the distance to the prior $k$-means centroids and label the data to the the nearest centroids accordingly
  • run a new algorithm (e.g. SVM) on the new data using the old data as the training set

Unfortunately, I couldn't find anything about this particular problem. There are only a few questions about the general use of $k$-means as a classification model:

  • Can $k$-means clustering do classification?
  • How to segment new data with existing $k$-means model?

1 Answer 1


This is not answerable without knowing something about the data itself and where it comes from and what it means. But it sounds like you're trying to do something awfully dubious.

It sounds like you're trying to come up with labels for free, with a purely automated method. That usually doesn't work. There's no free lunch. You'll need to obtain labels from some ground-truth source of data (e.g., human labelling; retrospective analysis); no amount of pure algorithms can replace that. See Efficiently labelling training data in machine learning.

Using distance computations might give you a plausible approximation, or it might work poorly. It all depends on the meaning and distribution of the data. There will be some datasets where it will work well enough, and others where it will work terribly. There is no single answer, and no special algorithm that eliminates the need to obtain known-correct labels for your data.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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