How to design a classifier when new data has missing values I have trained a classifier for medical data, which works ok.
Now I have to build a final product to give to the MDs (a sort of program where you give a new patient's record as input and the classifier makes the prediction).
I have two questions:


*

*how can I handle the case where not all the features I used to build the classifier were recorded, ie the new patient's record has missing features? Should I just use imputation or is there a better/more used technique?

*how can I add new data to my classifier when the actual label is recorded? Should I have to train it from scratch once some new data with a label is added?
 A: 1) For the features that were used to build the classifier, were there missing values in your training set as well? If so, you must have (1) either used some type missing value imputation, or (2) used a classifier that can handle missing values automatically (e.g., decision trees).
If you did use some missing value imputation method (e.g., replace all missing values by medians), then you should use the same approach for the new data as well.
If you did use a classifier method that handles missing values automatically, you don't have to explicitly address this issue.
However, if you did not have any missing values in the training set (for the features that were used to build the classifier), then you will have to retrain your classifier using a new training set. This is because your previous training set (which did not have any missing values) is not a representative set, and your classifier is not generalizable. You'd have to use a training set that reflects what you would expect in the near future (i.e., missing values).
2) If there are new features that are now available in the new set, ideally, I'd recommend retraining your classifier on the entire set of fields (new+old) that's available. That's the best approach to make sure you consider the entire set of fields for building the most accurate classifier. 
As a starting point though, you might just want to try adding those new features incrementally (on top of the existing features that are already in the classifier) and see if the performance of the classifier improves. 
