I have a dataset of 4712 records working on binary classification. Label 1 is 33% and Label 0 is 67%. I can't drop records because my sample is already small. Because there are few columns which has around 250-350 missing records.
How do I know whether this is missing at random
, missing completely at random
or missing not at random
. For ex: 4400 patients have the readings and 330 patients don't have the readings. But we expect these 330 to have the readings because it is a very usual measurement. So what is this called?
In addition, for my dataset it doesn't make sense to use mean
or median
straight away to fill missing values. I have been reading about algorithms like Multiple Imputation
and Maximum Likelihood
etc.
Is there any other algorithms that is good in filling the missing values in a robust way?
Is there any python packages for this?
Can someone help me with this?