# How can I predict the true label for data with incomplete features based on the model learned by data with complete features? [closed]

for example, the model was learned by training data with complete features (f1,f2,f3,f4,f5,f6)

but, I wonder the model can test data with incomplete features (f1,f2,f3) to attach the true label to this test dataset

I am waiting for the ML specialist's answer

• why aren't you neglecting f4, f5, f6 in the first instance? – Ben Jul 23 '20 at 10:05
• I think considering correlation between (f1,f2,f3) and (f4,f5,f6) is essential to predict more accurate label set – Dae-Young Park Jul 23 '20 at 10:44
• So why do you remove it in testing then? :) – Ben Jul 23 '20 at 10:52
• For example, training data consist of (features from photo, features from text). But, test data only consist of (features from photo). In the situation, I want to attach the label set made by training model into test data which only utilize photo. – Dae-Young Park Jul 23 '20 at 10:57
• Many thanks for your post, I am unsure with what exactly you are asking and the context of the problem. Any chance you can edit your post and include more detail on what the problem and what it is exactly that you are asking? – shepan6 Jul 24 '20 at 9:12

You can't.

If the model is trained with 6 features, it means that this model is like a function which requires 6 arguments. For instance the model might calculate the answer like this:

answer = 0 * f1 + 1 * f2 + 0 * f3 + 5*f4 + 0.5*f5 +10*f6


Obviously there's no way to know the answer of this function without knowing all its arguments.

Another way to look at it: given a model trained with a particular set of features, let's assume that it is possible to apply the model using any subset of these features and still obtain the prediction. This implies that it's possible to remove all the features. Therefore this model is a magic box able to predict reliable information from no information at all. I hope it's obvious that this is not possible.

In order to be able to predict with 3 features, the only way is to train a model with these 3 features.

• Thank you so much for your explanation! But, I am assuming a example. For the example, training data consist of (features from photo, features from text). But, test data only consist of (features from photo). In the situation, I want to attach the label set made by training model into test data which only utilize photo – Dae-Young Park Jul 23 '20 at 11:02
• According to your explanation, is this task impossible...? – Dae-Young Park Jul 23 '20 at 11:02
• Yes, the task is impossible. You have to train another model based only on the photos, that's the only correct way. You might be tempted to run the original model providing "empty text" as text features for every photo, this might be technically possible but it's meaningless because there's no way to know if the predictions are reliable or not. – Erwan Jul 23 '20 at 11:24
• Thank you for your kindly comment. but, the classifier for incomplete feature vectors is also important to solve such as issue! So, I have a question. Wouldn't there be attempts to solve related problem at top tier conferences like ICML or NeurIPS? – Dae-Young Park Jul 24 '20 at 1:07
• Well you're welcome to read all the articles from all the ML conferences, but it will take much more time and effort than retraining a model based on the available pictures (photos only). The basis of supervised ML is that the model is trained to predict answers from a specific set of features. There are also methods for dealing with missing values in the featires, but again the model must have been trained to deal with missing values in the data from the start. Once the model is trained, it must be used in the way it was intended. – Erwan Jul 24 '20 at 10:29