all}\; X$$

2.  Missing at Random (MAR): When the missingness of $X$ depends on the observed values of $X$ but not on the missing values of $X$. If we split the training dataset $X$ into two parts, observed $X_{obs}$ and missing $X_{mis}$, then $$\label{5}
                P(D|X) = P(D|X_{obs}), \quad \text{for all}\; X_{mis}$$

3.  Not Missing at Random (NMAR): When the data is neither MCAR or MAR, the missingness of $X$ depends on the missing values of $X$ itself. This sort of missingness is difficult to model as the observed values of X give biased estimates of the missing values. $$\label{6}
                P(D|X) = P(D|X_{obs},X_{mis})$$

For our problem, we assume that the missing data mechanism of $X$ is either MCAR or MAR.

k-Nearest Neighbors (KNN) Imputation Algorithm
----------------------------------------------

KNN is a lazy, instance-based learning algorithm and is one of the top 10 data mining algorithms [@wu2008top]. Instance-based learning is based on the principle that instances within a dataset will generally exist in close proximity with other cases that have similar properties [@aha1991instance]. The KNN approach has been extended to imputation of missing data in various datasets [@troyanskaya2001missing]. In general, the KNN imputation is an appropriate choice when we have no prior knowledge about 