Problem: Currently only have 1200 labeled (3-classes) customers with an entire customer base of 4.7M. Just leveraging the 1200 to train the model isn’t generating sufficient results so I’m now looking to semi-supervised techniques to generate more data.
Here is how I’m planning to add more labels:
Leverage simple, business-driven filters to come up with more data
Take the average of the features in each class. Compare those averages to the rest of the universe using cosine similarity. Only include strong matches (>0.9) in the labeled set.
After these steps, I would then train my model and classify the remaining users.
Let me know what you think!