Missing Values In New Data
No expert here, but predicting missing value using existing variables seems suspicious to me. Does it really work?

Say $v_5$ is missing and you want to impute its value based the other variables available, using some arbitrary function $g$:
$$v_5 = g(v_1, v_2, v_3, v_4)$$
and the target variable T is:
$$T = f(v_1, v_2, v_3, v_4, v_5)$$
which is essentially
$$T = f(v_1, v_2, v_3, v_4, g(v_1, v_2, v_3, v_4))$$
or
$$T = h(v_1, v_2, v_3, v_4)$$
So essentially you are estimating $T$ using available information regardless of the missing value. Why bother to impute $v_5$ using arbitrary function?

I tend to think that imputation only makes sense only if you have a good reason for the value imputed -- often they come from domain knowledge, which means that you need to impose an external restriction on the functional and parametric form of $g$ based on your prior.