Evaluation of Method to Classify Large Number of Unlabeled Data I have a small set of labeled training data around 300 examples with 50 features each. Also I have a large dataset of unlabeled data around 30000 examples with 50 features each. What is the best way to find the labels of the second dataset?
The way I currently use is


*

*Train a linear classifier as much as possible with the labeled data

*Use KNN to the unlabeled data 50 at a time and those that are closest to the training examples get to the labeled set.

*Train the linear classifier again with the new training data


etc...
 A: There is a developing subdomain in machine learning called Active Learning where you know the labels for few and use it to suggest other unlabeled examples that would be most useful to have labels for. Then you can label those examples by-hand and re-train the classifier. It's a special form of semi-supervised learning. 
So how do that? There's a python (assuming you are doing everything in Python) library called libact and its source code is on github. It claims it can work well with scikit-learn models.

In particular, libact models can be easily obtained by interfacing with the models in scikit-learn.

P.S friend of mine says it works well only on Ubuntu. So just make a note of it.
Hope this helps.
A: The procedure you are using resembles a technique called self-training. The way it normally works is


*

*Train the classifier on your labeled data. 

*Use it to predict the labels on all the unlabeled data.

*Assume that the classifier is correct for the unlabeled examples for which it is most confident and add them to the labeled training data.

*Go back to step 1.

