# Semi-supervised learning: Classification vs Clustering

In the context of a semi-supervised learning problem, what's the difference between using a classification algorithm vs a clustering algorithm?

Traditionally classification is supervised and clustering is unsupervised. However in this context, unlike traditional supervised learning, only a very small amount of labeled data is used. This blurs the lines between the two.

Both modified classification algorithms and modified clustering algorithms exist to solve semi-supervised problems. However, in every scenario I can think to try, the majority of modified (or even sometime unmodified) classification algorithms significantly out perform the modified clustering algorithms.

If this is the case, why is there so much interest in creating modified clustering algorithms? (based on the multitude of papers attempting this)

• As you say the distinction between semi-supervised classification and clustering is blurry, so your statement that one type of algorithms outperforms the other can't have clear meaning - it's a matter of which terminology is being used (the same algorithm can be called by both names) Feb 23, 2022 at 18:28
• These algorithms are all either based on a traditional classification algorithm or clustering algorithm though. Thats not blurry. i.e. s3vm -> classification, COP K Means -> clustering, EM multinomial Naive Bayes ->classification, etc. However virtually every classification based algo seems to outperform clustering.
– luke
Feb 23, 2022 at 18:40
• even if an algorithm is based on clustering the 'modified' part must include some elements of classification and vice verse, so I'm not convinced that you can so easily draw such a distinct line. How did you came with that conclusion anyway ? can you point to systematic studies that support it ? note that it only makes sense to compare performance when you test different algorithms on the exact same problem Feb 23, 2022 at 19:02

But you can essentially perform "modified clustering" without use of a semi-supervised algorithm and without true class labels. Here, I typically cluster the data first, and then run ANOVA and chi-squared analysis on all of the input features, with cluster number as the grouping variable. There's no need for true class labels of objects, because you can instead directly determine if objects (subjects) in cluster $$1,2,\ldots,k$$, etc., are older, weigh more, have greater protein expression, more mutations, etc., than objects other clusters.