<p>I think it will depend on the specific context of your problem. What are you trying to predict based on what kind of input?</p>

<p>For example, <a href="https://en.wikipedia.org/wiki/Recommender_system" rel="nofollow noreferrer">recommender systems</a> are used by companies like Netflix to predict a user's rating of, for example, movies based on a very sparse feature vector (user's existing ratings of a tiny percentage of all of the movies in the catalog).</p>

<p>Another option is to develop some mapping algorithm from your sparse feature space to a common latent space on which you perform your classification with, e.g., an SVM or neural network. I believe <a href="http://www.mirlab.org/conference_papers/International_Conference/ISMIR%202011/papers/PS6-5.pdf" rel="nofollow noreferrer">this paper</a> does something similar. You can also look in to papers like <a href="https://arxiv.org/pdf/1702.03431.pdf" rel="nofollow noreferrer">this one</a> for a classifier that translates data from two different domains (your training vs. testing set, for example, where both contain similar information, but one has complete data and the other does not) into a common latent space for classification. There is a lot out there actually on domain-independent classification.</p>

<p>Keywords to look up (with some links to get you started): <a href="https://arxiv.org/abs/1406.2661" rel="nofollow noreferrer">generative adversarial networks (GAN)</a>, <a href="https://arxiv.org/abs/1505.07818" rel="nofollow noreferrer">domain-adversarial training</a>, domain-independent classification, transfer learning.</p>
What machine learning algorithm would be best suited for a scenario when you are not sure about the test features/attributes?
<p>Eg:  For training, you use data for which users have filled up all the fields (around 40 fields) in a form along with an expected output. </p>

<p>We now build a model (could be an artificial neural net or SVM or logistic regression, etc). </p>

<p>Finally, a user now enters 3 fields in the form and expects a prediction. </p>

<p>In this scenario, what is the best ML algorithm I can use? </p>