I have a classification problem where some of the columns/features have more than 90% null values. How do I handle them? In my classification problem, some of the features(~5) among 85 features have mostly null values (>90%). How do I handle these values? Do I,
1) Ignore these columns/features altogether
2) Try and impute these values, if so how?
3) Any other method?
I am starting with random forests and I am a newbie to this method, does random forest handle null values by itself? How can I implement this? how does random forest do this? Where can I learn about this - any references would be much welcome. 
Thanks in advance.
 A: If possible you should try to understand the missing data mechanism underlying those columns, i.e. the reason behind the lack of data. In particular, there are two possible conditions you can try to detect:


*

*Data Missing At Random (MAR): the fact the some values are missing depends on only on the other (observed) features, and not on the missing values themselves. Formally, given a features matrix $X$, and a target vector $y$, let's denote $X_{obs}$ the observed entries in $X$ an $Z = (y, X)$, $Z_{obs} = (y, X_{obs})$. Defining $R$ as an indicator matrix with $ij$ entry 1 if $x_{ij}$ is missing and zero otherwise, then the data is MAR if and only if $p(R |Z, \theta ) = p(R |Z_{obs}, \theta)$

*Data Missing Completely at Random (MCAR): the fact the some values are missing does not depend on the data at all (either observed or not observed). Formally, the data is MCAR if and only if  $p(R |Z, \theta ) = p(R | \theta)$.
Ideally, the verification of this properties should be done reasoning on the data collection process. 
As an example, let's imagine you want to measure the weight of an object of 120 kilograms with a scale that supports weights up to 100 kilograms. You could not measure it, hence the missing value, which occurrence depends on the real value - this data is not MCAR, and not even MAR.
As another example, let's imagine you want to know SAT grade of a student, and in your features you have a variable indicating if the student attended this exam. If the student has not attended it, you will have a missing value depending on one of your observed features. The occurrence of the missing value should not depend on the ability of the student (or, at least, let's assume it). This data is not MCAR, but at least is MAR.
Consider that most of imputation methods rely on MCAR for their validity.
This definition is taken from Elements of Statistical Learning, if you want to go deeper in the problem.
Given that the number of columns with high missing values is not high, dropping them does not seem a completely bad idea. Anyway, as a more practical approach, you could treat the three options you listed a validation parameter, i.e. try all in the model validation phase (for example using cross validation) and picking the one that gives you the best result.
