Model that can make a prediction (classification) based on a sub set of features Model that can make a prediction (classification) based on a sub set of features 
What is the recommended approach, best model or algorithm that handles use-case where we want to predict based on sub-set of feature ?
Example Use-case
* create a 10 feature model
* make a prediction (predict a target class) based off 5 of the 10 features
A linear classifier built on 10 features requires values for all those features when making a prediction.
If we have feature 1-5 only we would need to build a 5 feature model.
Or give real values for feature 1-5 and some dummy/median/average values for remaining features.
Creating a separate model for each combination of features does not scale (think of case where we need to model 100 features).
Is there a recommended way of achieving this goal ?
 A: You primarily have three options (particularly 2 & 3 are somewhat similar):


*

*You can come up with a good imputation method (e.g. for continuous features after some suitable transformation look at their covariance matrix and impute on that basis) and impute the unavailable data.

*You can train a model that implicitly handles missing values (e.g. xgboost has a default direction in each tree split, in which missing data are assigned, it may help if you have some actual missing data to make this direction be sensible).

*You explicitly code data as missing (and possibly artificially create missingness* and then code data as such) with a code that does not coincide with any real value, e.g. -1 for strictly positive numbers. Then you use a model that can deal with non-linearities (e.g. neural networks) to reflect that such data are to be treated differently than observed data.


* This can be tricky, because your missingness process may totally mismatch what is missing in real-life. Under missing completely at random you would be fine though.
