Is there a clustering algorithm which accepts some clusters as input and outputs some more clusters? Heres the task: I have data I don't know much about. The final task is to build a classifier to classify the samples into a few categories. Some of the categories are pretty clear, we can easily use these as labels for a classifier. But I guess there are more useful categories possible, because right now most of my samples don't belong to any category. As I am no expert in the specific field, I would like to use some clustering algorithm to show possible label ideas.
When using traditional clustering algorithms, they find all sorts of patterns in the data I am not interested in.
So I am looking for a way to tell the algorithm: &quot;Hey, find some clusters in my data, but please take the existing clusters (or labeled data) into account.&quot; This should tell the clustering algorithm what I am interested in, and in what not.
Does something like this exists? Or any other idea how to solve the problem of finding additional labels?
BTW: in my case, I am doing NLP.
You are describing semi-supervised learning where the training dataset is only partially labeled.
One common set of techniques to solve that problem is active learning. In active learning, there is a learning loop where the algorithm makes predictions and a human corrects those predictions.
Pre-clustering is a specific active learning technique to address the problem you describe. The goal is to repetitively select the most representative training examples to add new labels and as well as avoiding repeatedly labeling samples in same cluster. &quot;Active Learning Using Pre-clustering&quot; by Nguyen and Smeulders goes into greater detail.