of predicting the class labels $Y$. This is the $k$ used for choosing the nearest neighbors.

3.  **Iterative Step:** Consider the iteration number $t\;(\geq 1)$. In the $t$-th iteration, the imputed matrix $\widetilde{X}^t$ is obtained by imputing the missing continuous features (with corresponding $D_{ij} = 0$) using and missing categorical features using -. This step is repeated until the stopping criteria is reached.

4.  **Stopping Criterion:** We stop at the $d$-th iteration when a stopping criteria is met. The stopping criteria we propose is $$\label{15}
            \max_{i,j: D_{ij}=0} |\widetilde{X}^d_{ij} - \widetilde{X}^{d-1}_{ij}| < \epsilon,$$ where $\epsilon = 10^{-4}$ is the chosen accuracy level.

Mutual Information (MI) for Classification {#MInotion}
------------------------------------------

We can see that the above imputation algorithm does not consider the class label $Y$ while computing the $k$-nearest neighbors. We can solve this using an effective procedure where the neighbourhood is selected by considering the input feature relevance for classification [@garcia2009k]. This input feature relevance for classification is measured by calculating the Mutual Information (MI) between the feature $X_{.j}$ and the class variable $Y$.

### Notion of MI

The entropy $H(X)$ of a random variable, $X$, measures the uncertainty of the variables. If a discrete random variable $X$ has $\mathscr{X}$ alphabets 